インターネットを利用して情報収集するのは、ビジネスをする上であたり前のこととなっていますが、インターネット上にある膨大な情報のうち使える情報のみを収集し、分析できるデータをして蓄積するには、大変な労力が必要となります。
スクレイピングは、インターネット上で有益な情報だけを迅速に収集し、加工・分析できるデータとして生成するプログラムのことをいいます。
よく例として紹介されるのは、株価の情報を収集して、比較できるデータに生成するようなものです。
・自動で決められた情報を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のページが開いたと思います。
とりあえずは、今回は環境構築のここまでとします