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を入力しましょう。