自分基準

自分の思ったことを気ままにメモ代わりに書いていこうかと

Pythonでスクレイピング(Selenium)

Seleniumを使ってPythonでスクレイピングする方法を調べてみたので軽くまとめた。

スクレイピングを始める前に

Pythonでスクレイピングをするには下記の2つが必要。

1.selenium

Webスクレイピングにはseleniumというものが必要でこれはブラウザを操作するものらしい。

Seleniumとは、Webブラウザを使ってWebアプリケーションをテストするツールです。この「Webブラウザを使って」というのが非常に大きなポイントで、人が手でWebブラウザを操作する代わりにSeleniumがWebブラウザを操作してくれるのです。 そして単純に操作するだけでなく、例えばエラーメッセージが正しく表示されているかといった検証も行うことができます。つまり、今まで人手を必要としていたWebブラウザを使った試験が自動化できるものなのです。そのため数百項目もあるテストも、クリック1回で実施できます。

[ThinkIT] 第1回:Webブラウザを使ったテストツールSeleniumとは (1/3)より

2.ChromeDriver

seleniumはWebブラウザを動かすものだがブラウザには複数種類があり、その中でGoogleChromeを動かすのであればchromedriverが必要となる。

以上の2つが必要である。

Seleniumのインストール

Pythonでseleniumをインストールするにはコマンドプロンプトで

pip install selenium

と入力すれば

C:\Users\xxx>pip install selenium
Collecting selenium
  Downloading selenium-2.53.2-py2.py3-none-any.whl (884kB)
    100% |################################| 890kB 1.5MB/s
Installing collected packages: selenium
Successfully installed selenium-2.53.2

と帰ってきてインストールが簡単にできる。

ChromeDriverのダウンロード

ここからダウンロードできる ChromeDriverのダウンロード
Downloads - ChromeDriver - WebDriver for Chrome

ここから自分のPCにあったものをダウンロードすれば良いのだがWindowsの64bit版はないみたいなので、とりあえず32bit版をダウンロード

Seleniumを使う

1.Seleniumのインポート

PythonでSeleniumを使うにはコードに以下の文を書く必要がある

from slenium import webdriver

f:id:nisiki_satika:20160502222650p:plain

chromedriver.exeはpythonのコードと同じフォルダに置いておくけば特にコードの追加は必要ない。

2.chromeを起動

とりあえずchromeを動かすコードを記載

browser = webdriver.Chrome()

これで、chromeが新規に開く f:id:nisiki_satika:20160502223132p:plain

f:id:nisiki_satika:20160502223141p:plain

3.URLのページを開く

URLを開くには

browser.get("URL")

これでURLに記述したページが開く。画像ではGoogleのページを開いてみた f:id:nisiki_satika:20160502223341p:plain

f:id:nisiki_satika:20160502223351p:plain

4.ブラウザを閉じる

閉じるコードは

browser.quit()

でブラウザが終了するのでこのままPythonもexit()で抜ければ終わり