・2019/10/12
Raspberry Piで chromium-chromedriverと seleneで Webページの内容を取得して画像にして保存
(chromium-chromedriverのインストールは apt-getで可能なので簡単です)
Tags: [Raspberry Pi], [電子工作], [ディープラーニング]
● Raspberry Pi 3で chromium-chromedriverと seleneで Webの内容を取得する
ChromeDriverを使うにあたり Seleneを一緒に使います。
ChromeDriver - WebDriver for Chrome
yashaka/selene
Selene - Concise API for Selenium in Python
Concise UI tests in Python + Ajax support + PageObjects
# お決まりの sudo apt-get update
sudo apt-get update
sudo apt-get install chromium-browser
# Setting up chromium-browser (72.0.3626.121-0+rpt4) ...
sudo apt-get install chromium-chromedriver
# Setting up chromium-chromedriver (72.0.3626.121-0+rpt4) ...
chromium-browser --version
# Chromium 72.0.3626.121 Built on Raspbian , running on Raspbian 9.9
chromedriver --version
# ChromeDriver 72.0.3626.121
# 日本語フォントをインストールする
sudo apt-get install fonts-ipafont-gothic fonts-ipafont-mincho
# Python 2.7にインストール
sudo apt-get install python-pip
# seleneのインストールは必ず --preを付ける事
pip install selene --pre
# TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
# エラーが出ても 2回目は成功する
# seleneのインストールは必ず --preを付ける事
pip install selene --pre
# Python 3.5にインストール
sudo apt install python3-pip
# seleneのインストールは必ず --preを付ける事
pip3 install selene --pre
● chromium-chromedriverと seleneの Pythonサンプル Webページを画像にして保存
ヤフーの Webページを画像にして保存。
Python2と Python3の両方で動きました。
# Configuring shared browser and automatic driver executable installation
from selene import browser
from selene import config
from selene.browsers import BrowserName
from selenium import webdriver
config.browser_name = BrowserName.CHROME
# config.browser_name = 'chrome'
chrome_option = webdriver.ChromeOptions()
chrome_option.add_argument('--headless')
chrome_option.add_argument('--disable-gpu')
driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver", chrome_options=chrome_option)
browser.set_driver(driver)
browser.open_url("https://www.yahoo.co.jp/")
# Webページを画像にして保存
# 800x600がデフォルトっぽい
driver.save_screenshot('screenshot.png')
browser.quit()
・chromium-chromedriverと seleneの Pythonサンプル Webページを画像にして保存(減色加工有り)
クリックでオリジナル画像を表示 800x600px
# 画像サイズを Webページの大きさにする
sw = driver.execute_script('return document.body.scrollWidth')
sh = driver.execute_script('return document.body.scrollHeight')
driver.set_window_size(sw, sh)
# Webページを画像にして保存
driver.save_screenshot('screenshot_full.png')
・chromium-chromedriverと seleneの Pythonサンプル Webページを画像にして保存(減色加工有り)
クリックでオリジナル画像を表示 990x1718px
● chromium-chromedriverと seleneの Pythonサンプル ヤフーのログインする
driver.get("http://yahoo.co.jp")
# テキスト「ログイン」をクリックする
driver.find_element_by_link_text("ログイン").click()
# 「ログインID」を入力して、「次へ」をクリックする
driver.find_element_by_id("username").send_keys("{ログインID}")
driver.find_element_by_id("btnNext").click()
# 「パスワード」を入力して、「ログイン」をクリックする
driver.find_element_by_id("passwd").send_keys("{パスワード}")
driver.find_element_by_id("btnSubmit").click()
# Webページの内容をテキストで出力する
print driver.page_source.encode("utf_8", "ignore")
# Webページを画像にして保存
driver.save_screenshot('screenshot.png')
driver.close()
Tags: [Raspberry Pi], [電子工作], [ディープラーニング]
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2019 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_chromium_chromedriver/