Selenium + ChromeDriverの導入メモです。
インストールは行わず、アプリ実行ディレクトリにChromeDriverを同封するやり方です。
Chromeをヘッドレスモードで起動して、WebページのHTMLをスクレイピングします。
スポンサーリンク
ChromeDriverのダウンロード
こちらのページにアクセスします。
特に理由がなければ、最新バージョンのDriverを選択します。
環境に応じたファイルのリンクをクリックして、Driverをダウンロードします。
ダウンロードしたファイルを解凍して出来た「chromedriver」のファイルを、アプリ実行ディレクトリに、コピーまたは移動して下さい。
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様様ですね。。。
0 件のコメント:
コメントを投稿