HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2019/10/12

Raspberry Piで chromium-chromedriverと seleneで Webページの内容を取得して画像にして保存 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ページを画像にして保存(減色加工有り)
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ページを画像にして保存(減色加工有り)
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/