【docker】python用のwebスクレイピング環境の構築

お仕事で、人がブラウザを使ってwebページ上のコンテンツを操作するのではなく、
システムがwebサイトにアクセスして特定のアクションを起こす必要があったので、
そのシステムを作るための環境を構築しました。

https://github.com/kumahiyo/web-scraping

今回はローカルPCで開発できるようdockerを使いました。
python3.7を入れ、scrapyとseleniumをインストールしています。

scrapyはwebクローラーを作ることができるオープンソースのライブラリです。
seleniumは人がブラウザを操作する時と同じ環境を
システムによってシュミレートするためのフレームワークです。
今回はscrapyと組み合わせて使うため、
scrapy-seleniumというミドルウェアをインストールしました。
これらを組み合わせて利用することで、人を介さずにブラウザ操作できるようになります。
使っているブラウザはfirefoxでこれもインストールしておきます。

また、ブラウザを操作する上でデータを扱う必要があったため、
行列操作のしやすいpandasやexcelファイルを扱える
openpyxlといったライブラリもインストールしました。
pandasでもexcelファイルを扱えるのですが、
ファイル内のセル形式や結合状態などを維持したまま編集したりする場合は
openpyxlが扱いやすくオススメです。

手軽にpythonを使ったwebスクレイピング環境が構築できるので、よければお使いください。

https://github.com/kumahiyo/web-scraping

※ webスクレイピングは、使用して問題ないかを確認してから使うようにしましょう。

ABOUTこの記事をかいた人

フリーランスとして働く、フルスタックエンジニア 初崎 匠のサイト。仕事のことから趣味のアニメーション制作、英語学習など、様々なことを通じて、少しでも多くの人が幸せになれるような価値を提供できるよう挑戦し続けます。