LoginSignup
1
5

More than 3 years have passed since last update.

seleniumでスクレイピング

Posted at

動的に書かれたサイトをseleniumでスクレイピング

JS等で書かれたサイトだとただBeautifulSoupとかでスクレイピングしようとしても出来ない場合があります。
そんな場合に使えるのがseleniumです。

chrome driverを入手

まずchrome のバージョンを調べます。

(Macの場合)
1. chromeを開いた状態で、画面左上の「chrome」をクリック
2. 「Google chromeについて」をクリック
3. 「設定-Chromeについて」というページが開かれるので、そこに表示される
  バージョン: 8?.〜〜〜〜という部分を確認します。

ダウンロードページでChrome Driverを入手します。

ダウンロードページ で、

以下の部分から、上で調べたバージョンに合致するchrome driverをダウンロードします。
(ページリンク先でOSを選択します。)
スクリーンショット 2020-09-22 17.43.04.png

使い方

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

url="~~~~~~"#ここに開きたいURL
options = Options()
options.add_argument('--headless') #ヘッドレスモードを有効
Driver_path="~~~~~~" #ダウンロードしたchromeドライバーを置いた場所を指定
driver = webdriver.Chrome(Driver_path,options=options)
driver.get(url)
time.sleep(2)
html = driver.page_source.encode('utf-8')
soup = BeautifulSoup(html, 'lxml')
#この後は普通にBeautiful Soupの文法通り使える。

optionをつけることによって、driver.getするたびにページが開かれてしまうことを防いでいます。
(これによって、処理速度が多少早くなります。)

参考

Seleniumを安定稼働させるために行うべき3つの設定(Headlessモードにも対応)

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5