人がブラウザを使ってwebページ上のコンテンツを操作するのではなく、
システムにコンテンツを操作させたかったため、そのシステムを作るための環境を構築した。
ローカルPCで開発できるようdockerを使い、その中にpython3.7を入れ、
scrapyとseleniumをインストール。
scrapyはwebクローラーを作ることができるオープンソースのライブラリ。
seleniumは人がブラウザを操作する時と同じ環境をシステムによってシュミレートするためのフレームワーク。
プログラム開発のテストなんかに使われることもある。
さらに今回はseleniumとscrapyと組み合わせて使うため、
scrapy-seleniumというミドルウェアをインストールした。
このミドルウェアが使うfirefoxも併せてインストールしておく。
また、ブラウザを操作する上でデータを扱う必要があったため、
行列操作のしやすいpandasや、excelファイルを扱えるopenpyxlといったライブラリもインストール。
pandasでもexcelファイルを扱えるだが、ファイル内のセル形式や結合状態などを維持したまま編集したりする場合は
openpyxlが扱いやすくオススメ。
あとはこれらのライブラリを使って、コードを書くだけ。
環境を構築するためのデータ一式は、以下に置いておきました。
https://github.com/kumahiyo/web-scraping
※ webスクレイピングは、使用して問題ないかをアクセス先に確認してから使うようにしましょう。