見出し画像

今更聞けない!スクレイピング技術

 みなさんこんばんは!バグプログラミングです。今回は前回に引き続き専門用語解説になります。今回のテーマは「スクレイピング」。外部データを引用する方法ですが、「何ができるのか?」、「APIとはどう違うのか?」、「そもそも何?」など多くの疑問があるかと思います。これらについて1つ1つ説明して参りますね。

イメージ図

引用元:https://www.sbbit.jp/article/cont1/71102

【1】そもそもスクレイピングとは?

 これはインターネット上の有用な情報を収集し、編集する技術のこと。例えば、自社のサイトやWeb開発の時、「googleのこのトップページを真似したい!」、「こういった感じのログインページを引用したい!」と思うかたは多いはず。

 つまり、引用したいサイトのHTMLを抽出・加工して自分流にアレンジ(編集)することです。同じくWeb上で行われる情報収集手法に「クローリング(Crawling)」があります。わかりやすく例えると、

(クローリング)・・・営業マンが車や徒歩で市街地を周りながら表札を確認して地図を作る作業。

(スクレイピング)・・・インターホンを押して「◯◯さんいますか?」と住人の顔と名前を確認して回る作業。

基本はこの2種類を組み合わせて欲しい情報を探っていきます。

【2】どんな仕組みなの?

 スクレイピングでは、最初に「どんな情報が欲しいか」ときちんと定義する必要があります。例えば、「商品の価格」「新製品」「検索の順位」「評価・評判」などです。定義したあとは、情報が記載されているページなどを自動的に周って情報を抽出します。
 もう少し具体的に話します。スクレイピングの実践方法は大きく分けて2つあります。

(1)無料/有料のスクレイピングツール・サービスを利用すること。
(Octoparse、キーウォーカーWEBクローラー、ScrapeStorm、Web Scraperなど。)

(2)自分でプログラミングすること。
こちらは主にpythonというプログラミング言語で編集します。これはその一部写真です。

イメージ図

こちらはYahoo!japanのニューストピックのHTMLを編集している様子です。この中から編集・引用したい情報を探し出します。もちろんですが、こちらは自力で行うため相応のプログラミング言語が要求される上級者向けの方法です。ゆえに最初のうちは無料/有料のスクレイピングツール・サービスを利用することをお勧めしますね。

 スクレイピングと混同されがちなものに、APIがあります。APIは、Webサービスがアプリケーション開発者に対し、情報や機能を提供する仕組み(オープンソース)です。APIはWebサービス提供側が、アプリ開発者に対して公式に機能を提供しているのが特徴です。

 それに対し、スクレイピングは公式には認められていません。ユーザー向けに公開されているHTMLを、非公式で収集・分析する行為です。

【3】何に活かせるの?
 まずは効率的なマーケティング情報の取得です。スクレイピングにより他社の商品情報を取得することで、マーケティングが効率化します。APIで提供されていない情報も手に入るため、より精度の高いマーケティング施策が可能になります。

 また、新しいサービスの開発にも応用できます。たとえば、複数のECサイトから商品価格情報をスクレイピングすることで、価格比較アプリを開発できるほか、地図情報や株価など、変動の激しい情報を提供するサービスの開発にスクレイピングは適しています。

しかし、スクレイピングには違法のリスクがあることを注意して下さい。特に、SNSなど個人情報が多く存在するサイトでは、スクレイピングが禁止されているケースが多いです。日本では少ないものの、海外ではスクレイピングと規約を巡って裁判沙汰になった例も少なくありません。

イメージ図

引用元:https://watagusa.hatenablog.com/entry/2021/01/01/183001

 以上、スクレイピングの基本をまとめてみました。データは今やマーケティング、商品開発、企画、営業などほとんどの仕事でかかせない武器の一つです。その調達を助けるスクレイピングは、非常に汎用性の高い技術だと思います。法律・マナーの順守は徹底しつつ、興味のある分野のデータを取得することからどんどんチャレンジしてみてください!

この記事が気に入ったらサポートをしてみませんか?