PythonでのスクレイピングライブラリSeleniumの紹介

インターネットを利用して情報収集するのは、ビジネスをする上であたり前のこととなっていますが、インターネット上にある膨大な情報のうち使える情報のみを収集し、分析できるデータをして蓄積するには、大変な労力が必要となります。
スクレイピングは、インターネット上で有益な情報だけを迅速に収集し、加工・分析できるデータとして生成するプログラムのことをいいます。

よく例として紹介されるのは、株価の情報を収集して、比較できるデータに生成するようなものです。

メリット

・自動で決められた情報をWEBサイト巡回しながらデータ収集  することが可能
・人の手を介さないので業務効率の大幅な向上を見込める

デメリット

・情報収集先に変更があった場合、収集できなくなる
・WEBサイトによっては、スクレイピングを禁止している場合

がある
・スクレイピングによるアクセス拒否を受ける場合がある

注意点

・スクレイピングを行う場合は、情報収集サイトの利用規約に

従うこと
・WEBサイトに負荷がかからないようにすること
・収集するデータの著作権を十分確認すること

上記、メリット・デメリット、注意事項を踏まえた上でスクレイピングを活用していきましょう

Pythonでの環境準備

既にpythonの環境構築は済んでいるものとして進めていきます。環境構築は別の紹介ページを参照してください

https://touch-kun.net/2020/04/12/post-95/

まずは、Seleniumという、WEB操作を制御するツールをインストールします

pip install selenium

次に、制御されるブラウザにドライバをインストールします
今回は、Google Chromeを利用します。
通常は公式サイトからドライバをダウンロードしてインストールしていきますが、今回はpipコマンドでインストールする方法を紹介します。こちらのほうがパスを通さずに利用できるため楽です。

pip install chromedriver-binary

実際に動かしてみましょう

Google Chromeを開いて、Googleの検索サイトを表示させてみましょう

import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.google.com/')

<ポイント>
実行時に以下のようなエラーが表示された場合は、Chromeのバージョンとドライバのバージョンが合ってないと思われます。

This version of ChromeDriver only supports Chrome version 92

対処方法は、Chromeのバージョンを調べ、そのバージョンのドライバをインストールします

pip install chromedriver-binary==91.0.4472.164

そうすると、大抵は全く同じバージョンのドライバが存在しないので、バージョンのリストのようなエラーが表示されます。そのエラーはドライバが存在するバージョンを示しています。


実際のChromeのバージョンより、少し小さいバージョンを見つけてインストールをしてください

pip install chromedriver-binary==91.0.4472.101

今度はインストールが成功したと思います。
その状態でテストプログラムを実行してください。始めて実行した場合、Windowsファイアウォールのアクセス許可をしなければなりません。

ようやく、Googleのページが開いたと思います。

とりあえずは、今回は環境構築のここまでとします

https://touch-kun.net/2022/07/12/post-390/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


上の計算式の答えを入力してください

CAPTCHA