PythonでWebスクレイピングをやってみた ~5~
こちらで書いたやりたいことは一通りできたので、今度は別のことをやってみます。やりたいことは、chocoZAP(チョコザップ)の店舗一覧のデータをWebスクレイピングで取得して、またGoogleマップのマイマップを作るということになります。
調べてみると、どうもchocoZAPのページはJavaScriptで作成されているらしく、前回まで使っていたRequestsライブラリではWebスクレイピングできないことが分かりました。
そこで今回は、Seleniumというライブラリを使ってWebスクレイピングすることにしました。
Seleniumについては下記の動画で解説されているので、そちらを見てもらった方が早いと思います。
とりあえずSeleniumをインストールしてサンプルコード等を動かしてみましたが、最初は簡単なサンプルコードすら動きませんでした。
そこでいろいろとググったりしながらコードを修正して、とりあえずSeleniumを使ってchocoZAPの店舗検索のページを開いてプルダウンメニューで「東京都」を選択し、「絞り込んで表示」ボタンを押して画面を一番下までスクロールするという一連の動作をさせることができました。
正直こんなに苦労するとは思わなかったのですが、どうも原因はインストールしたSeleniumのバージョンにあったみたいです。
現状何も考えずにSeleniumをインストールするとSelenium4がインストールされてしまうようです。このSelenium4はSelenium3とはだいぶ違ったものになっているようで、Selenium3用に書かれたコードは色々直さないとSelenium4では動かないようでした。
現在巷に溢れているSeleniumのコードはSelenium3で動くものが多いようで、そんなわけでネット上にあるSeleniumのコードを動かそうと思ってもそのままではSelenium4では動かないということだったみたいです。
Selenium3にインストールし直そうかとも思いましたが、上の動画で出てくる便利そうなツール「Selenium IDE」を使って得られるコードがSelenium4用のコードだったので、このままSelenium4で行くことにします。
そんなわけでとりあえず作成したPythonのコードは下記のようになりました。
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?