Selenium・ChromeDriver
PythonのSeleniumライブラリを使うと、ブラウザを自動操縦することができる。ブラウザの自動操縦によってWebスクレイピングを行える。
SeleniumはWebDriverによりブラウザを操作する。Chromeブラウザに対応するWebDriverはChromeDriverである。
SeleniumによるWebスクレイピングは以下のページに詳しい。
ChromeDriverの更新
Chromeがバージョンアップすると、ChromeDriverとのバージョンの整合性が取れなくなる。それゆえ、Chromeのバージョンに対応するChromeDriverを新たにダウンロードする必要がある。その更新方法を今回は紹介する。
更新方法
まず、Chromeで現在のバージョンを確認する。
実際に確認したところ、「バージョン: 96.0.4664.45(Official Build) (64 ビット)」であった。
次に、chromedriverのWebページ(https://chromedriver.chromium.org/)に行き、Chromeのバージョンに対応するzipファイル(https://chromedriver.storage.googleapis.com/96.0.4664.45/chromedriver_win32.zip)をダウンロードする。
zipファイルを解凍して得られたchromedriver.exeを適当な場所に置く。たとえば、古いchromedriver.exeを新しいchromedriver.exeで置き換えればよい。
Pythonスクリプトのなかで、新しいchromedriver.exeへのPATHを指定して利用する。
まとめ
ChromeDriverとChromeのバージョンが合わない場合、Chromeのバージョンに対応するChromeDriverを公式ページでダウンロードする。ダウンロードした新しいexeファイルを古いexeファイルのディレクトリに移動させ、古いexeファイルを新しいexeファイルで置き換える。
付録
付録として、はてなブログの公式ホームページを5秒おきに100回訪問するスクリプトを以下に紹介する。
from selenium import webdriver import chromedriver_binary import time # chromedriver.exeへのpathを指定する driver = webdriver.Chrome("PATH\TO\YOUR\DIRECTORY\chromedriver") def open(url): driver.get(url) time.sleep(5) driver.close() open_url = "https://hatenablog.com/" for _ in range(100): open(open_url)