恒星間ボトルメール

Interstellar Message in a Bottle

ChromeDriverの更新

Selenium・ChromeDriver

PythonSeleniumライブラリを使うと、ブラウザを自動操縦することができる。ブラウザの自動操縦によってWebスクレイピングを行える。

SeleniumはWebDriverによりブラウザを操作する。Chromeブラウザに対応するWebDriverはChromeDriverである。

SeleniumによるWebスクレイピングは以下のページに詳しい。

ai-inter1.com

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)