独学でWebスクレイピング -PythonとSeleniumを勉強してみた-
僕は、広報やマーケティングの一環で、HPへの集客データの解析などをしています。
先日、仕事で必要に迫られて、独学でPython、Seleniumを勉強してみることにしました。プログラムの力を使って、毎日15時頃に、特定のページ内の必要データを収集することが目的です。勘の良い方ならわかりますが、Webスクレイプの自動化です。
今日は、PythonやSeleniumを学ぶことになったきっかけ、学びを通じて気づいたことをお伝えしていきます。
なお、詳細なPython、Seleniumの説明は、別のプロエンジニア達が書いた記事がWeb上にあるので、そちらを参照ください。
1.毎日のルーティンを自動化したい状況に
広報やWebマーケティングの仕事をしていると、日々数字の集計が必要なことはありませんか?僕の場合だと、イベント参加ページへの集客状況を可視化する必要がありました。
無料プランでは大まかな内容しか表示されず、しかも過去データは遡って収集できない。(noteも詳細なアクセス状況は有料プランの契約が必要ですよね。)
そんなわけで、数字は毎日更新されるので、決めた時間にページにアクセスしてデータをダウンロード&保存する作業が必要になりました。
最初の1週間くらいは、泥臭くデータを集計していましたが、非常に面倒くさい。さらに、別作業に追われて忘れる日もある。
正確なデータが取得できなくなってきて、リーダーからの当たりも強くなってきたタイミングで自動化の必要に迫られました。
2.Webマーケティングのデータ取得を自動化するメリット
データ収集を自動化する最大のメリットは、効率化です。それによって、本来人間がやるべき「考えること」に頭と時間を使えます。
人は忘れる生き物です。データを取得忘れ、別のページのデータを誤って取ってきてしまった。こういった事態は、必ず起きます。
プログラミングの力でこれらを解決できれば、仕事の質が上がり、自分の価値向上にもつながります。
3.Webスクレイピングの自動化にPythonとSeleniumを選んだ理由
今回のスクレイプの自動化のために、Python、Seleniumを活用しました。
それぞれの理由は
Python
Web開発やデータ分析など、Pythonはさまざまな分野に使える汎用性の高いプリグラミング言語
文法がシンプルで読みやすい、豊富なライブラリが用意されている、機械学習やデータ分析にも活用できるなど、データ分析やスクレイピングに最適な言語です。
Selenium
ブラウザを自動的に操作するライブラリです。主にWEBアプリケーションのテストやWEBスクレイピングに利用されます。
Seleniumは、ブラウザをまるで人間のように操作できるため、ログインページの入力、ボタンのクリックなど複雑なWebサイトのデータを抽出する際にも非常に便利です。
多くのサイトで手法として紹介されているので、活用しやすいと思ったのが最大の特徴です。さらに、Google Colaboratoryを使用するとWebブラウザ上でPythonを簡単に記述できるのも選択した理由です。
それぞれの特徴や詳細は別ページに譲りますので。よかったら参考にしてください。
4.ITスクールで学んだことがPythonの理解を助けた
学習を進めていくうえで、思わぬことが起きました。Pythonが使いやすいと実感したことです。理由は、以前僕はITスクールでhtml, CSS, JavaScriptを学び、ECサイトを作成していたからです。
以前の記事でお伝えしたとおり、ITエンジニアになるのは辞めましたが、その時の経験がこんなところで生きるのは意外です。
何度か試行錯誤のうえ、無事にPythonとSeleniumを使って、日々の作業を自動化できました。途中でわからない部分は、GoogleのAI Geminiに助けてもらいました。広く活用されている言語なだけあって、的確な修正案を示してくれるのは本当に助かりました。
5.さいごに
今日は、Webマーケティングの仕事をするなかで、作業の自動化による効率化が必要になった経緯。新たに、PythonとSeleniumを学んで、解決したことを書きました。
何歳になっても、新しいことを学ぶのは新鮮で、新たな発見があることは楽しい限りです。
これからも、作業を効率化していって、本来の仕事である考えることに時間を使える状態を作る。それによって、自分の価値を高めて、収入も上げます!
今日はこの辺で。ありがとうございました。
JavaScriptなどを学んだ経験はこちらの記事にまとまっています。よかったらご覧ください↓