この実装、面倒なら代行します
今回のテーマでは最終的にこちらのページからデータをスクレイピングします。
https://100webdesign.jp/services/dev_prj/
イエス。当100ウェブの「100ウェブの制作・開発案件紹介」ページです。
「このページの検索フォームにキーワードを入れて、出てきた案件のタイトルとタグをスクレイピングして他のWordPressサイトに掲載すること」が、今回のテーマの最終的なゴールとなります。
それではページの全体像を見てみましょう。特に検索フォーム周辺のイメージを見てみるとこのあたり。
このページを例にとりながら、そもそも「スクレイピング」って実際のところ何をしてるのかについて、簡単に説明していきます。
この検索フォーム周りのHTMLを見てみましょう。
<h1 class="page_ttl bgextend bgLRextendTrigger"><span class="bgappearTrigger"><span class="initial">S</span>100ウェブの制作・開発案件紹介</span></h1> <p class="mt-3 mt-md-5">100ウェブでは様々なウェブ制作・開発案件に携わっております。<br> その中から一部、クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について、ご紹介します。<br> これを見れば、100ウェブで何ができて、いくらくらいでできるのか、だいたいお分かりいただけると思います。<br> 同じような制作・開発をお考えの方がいらっしゃいましたら、参考にしていただければ幸いです。</p> <form role="search" method="get" id="searchform" class="searchform" action="https://100webdesign.jp/services/dev_prj/"> <div> <input type="text" value="" name="s" id="s" /> <input type="hidden" name="post_type" value="dev_prj" /> <input type="submit" id="searchsubmit" value="検索" /> </div> </form>
スクレイピングとは、人に代わってプログラムが疑似的なブラウザを使ってウェブページにアクセスし、ウェブページのHTMLの中から必要な要素を探す一連の動きのことを言います。
たとえば上の検索フォームにキーワードを入力して検索しようとするなら、プログラムのフローは次のようになります。
まさに人間がやっているアクションを細分化して、ひとつひとつのアクションをプログラムにしていくだけですが、プログラムによる要素の探し方は、人間のように目で見て判断することができないので、HTMLのコードを取得して、その中から特定のclass, id, tagを探して取得する、といった方法になります。
そしてPythonではこれらの動きを、前章でインストールした requests、webdriver_manager、selenium の3つのライブラリを使って、簡単に記述することができます。
今回はスクレイピングの基本的な考え方について紹介しました。
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。