Python+seleniumでウェブページからのスクレイピングやキャプチャをするために、google chromeを用いる。
pythonからchromeの機能を使うためには、chromeのバージョンに合わせたドライバーが必要となる。
1)まず、インストールされているchromeのバージョンを確認
> google-chrome --version Google Chrome 79.0.3945.88 ||< 79系のchromeが入っていることがわかる。 2)chromedriverのサイトにアクセスし、適切なバージョンのドライバーをダウンロード [https://chromedriver.chromium.org/downloads] 今回は79系なので、以下にアクセスし、linux用のドライバーをダウンロードする。 [https://chromedriver.storage.googleapis.com/index.html?path=79.0.3945.36/] 3)zipファイルの解凍 ダウンロードしたchromedriver_linux64.zipを解凍する。 >|shell| > unzip chromedriver_linux64.zip > ls chromedriver chromedriver_linux64.zip
4)pythonで動作確認
seleniumインストールし、pythonをインタラクティブモードで起動する。
> pip install selenium
以下は、www.google.comにアクセスして、画面のキャプチャを画像に保存する動作確認用のコードである。
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.add_argument('headless') options.add_argument('--no-sandbox') options.add_argument('--disable-gpu') options.add_argument('--window-size=1280,1024') driver = webdriver.Chrome('./chromedriver',options=options) driver.get('http://www.google.com') driver.save_screenshot('test.png')
「webdriver.Chrome('./chromedriver',options=options)」の「'./chromedriver'」にはインストールしたドライバーのパスを書く。
実行し、以下のような画像が保存されていれば動作確認完了。