Selenium ChromeDriverの導入メモ

2019年1月9日水曜日

Python Selenium スクレイピング

t f B! P L

Selenium ChromeDriverの導入メモ

Selenium + ChromeDriverの導入メモです。
インストールは行わず、アプリ実行ディレクトリにChromeDriverを同封するやり方です。
Chromeをヘッドレスモードで起動して、WebページのHTMLをスクレイピングします。

ChromeDriverのダウンロード

こちらのページにアクセスします。
特に理由がなければ、最新バージョンのDriverを選択します。

ChromeDriverのダウンロードページ

環境に応じたファイルのリンクをクリックして、Driverをダウンロードします。

ChromeDriverダウンロードページ(OS別のファイル一覧)

ダウンロードしたファイルを解凍して出来た「chromedriver」のファイルを、アプリ実行ディレクトリに、コピーまたは移動して下さい。

enter image description here

ChromeDriverを使ってスクレイピング

早速、Selenium + BeautifulSoup4 - ChromeDriverを使って、Webページをスクレイピングするコードを書いてみます。

import os
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

#スクレイピング対象のURL
target_url = "http://xxxxxxxxxxx"

#ブラウザのオプションを格納する変数
options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')

#アプリ実行ディレクトリに配置したDriverを指定して、ブラウザを起動する
driver = webdriver.Chrome(os.path.curdir + "/chromedriver", chrome_options=options)

#指定されたURLに、ブラウザからアクセスする
driver.get(target_url)

#レスポンスのHTMLを格納
src = driver.page_source
driver.close()

#レスポンスのHTMLを解析
soup = BeautifulSoup(src, 'html.parser') 

まとめ

ChromeDriverを使えば、JavaScriptで動的にHTMLが生成されるサイトでも、スクレイピングが可能になります。
Chrome様様ですね。。。

スポンサーリンク

QooQ