2020/09/06
こんにちは!
前回まではグラフを書いたりなどの操作についてでしたが、今回からはウェブスクレイピングにします!
流れとしては、
1. Google Chromeを立ち上げる
2. URLを入力
3. URL先でボタン等をクリックする
これくらいの作業をゴールにします。
今回は1のGoogle Chromeを立ち上げる、です。
下準備として...Chromeを扱うために、ChromeのWebdriverをインストールしなくてはなりません。
”Google Chrome Webdriver”と検索すれば、インストールページへアクセスできます。
ここで、自分が使っているChromeのバージョンを知っている必要があります。
Google Chromeを開くと、右上に
このマークが出てきます。これを押して、
ヘルプ→このChromeについて
とクリックすれば、85やら86やら数字が書いてありますので(ドット以降は無視してください)、そのバージョンと同じWebdriverをインストールします。
自分がわかるフォルダに保管しておきましょう。
さて下準備が終わりましたので、一気にコードを載せます。
!pip install selenium
!pip install beautifulsoup4
from selenium import webdriver
import time
import pandas as pd
# GoogleChromeを起動
browser = webdriver.Chrome(executable_path = 'C:\\Users\\chromedriver.exe')
browser.implicitly_wait(5)
一つずつ解説します。
・まず自動でブラウザ操作するためのseleniumをpip経由でインストールします。Macの場合は!がいりません。
・そしてHTML等から情報を取得するために、beautifulsoup4をインストールします。
・先ほどインストールしたseleniumからWebdriverをインポートします。
・時間の指定(どのくらい止まるなど)ができるライブラリであるTimeをインポートします。
・pandasは特にいれる必要は無さそうですが、便利なので癖でいつインポートしておきます(笑)
・いよいよChromeを開きます。browserという変数にChromeを格納します。括弧以降はchromedriverを入れたエグゼパスを入れるわけです。(Windowsのみ。Macはたしか何も入力しなくてよかったような...)
さらに...Pythonでは\が正規表現として認識されてしまう?ので、2つ書いてパスを表現します。
・このあと様々な操作をするわけですが、Chromeが立ち上がる前にどんどんコードが実行されるとエラーになってしまう恐れがあります。
そのため5秒待機しましょうというのが最後のコードです。
これでChromeが立ち上がりました。次はURLを入力しましょう。