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

PhantomJSが2018年3月に更新を終了してしまったので、以前使っていたコードが動かなくなってしまいました。

 

代わりにChromeを使ったスクレイピングをまとめました。

 

環境

  • macOS High Sierra 10.13.6
  • Python 3.6.3
  • selenium 3.14.1
  • ChromeDriver 2.42
  • Google Chrome 69.0

 

ChromeDriverをダウンロードする

ブラウザで「chrome://settings/help」を開いてChromeのバージョンを確認します。

私の環境は69でした。Chromeのバージョンに対応したChromeDriverをダウンロードする必要があるので覚えておきます。

 

公式からChromeDriverをダウンロードします。

先ほど調べたChromeのバージョン(69)がサポートされていることを確認します。

 

Mac版をダウンロードして、適当なところに展開しておきます。

私は

/usr/local/bin

にchromedriverを置きました。

 

 

SeleniumでChromeを起動する

from selenium import webdriver
driver = webdriver.Chrome()

# オプションでブラウザレスにする
options = webdriver.ChromeOptions()
options.add_argument('headless')
driver = webdriver.Chrome(chrome_options=options)

# 適当にGoogleのページでも取得してみる
driver.get('https://www.google.co.jp/')
driver.page_source.encode('utf-8')

# driverを終了
driver.close()

 

 

参考

コメントを残す