情報化の時代、インターネットが普及して以来多くの情報がネット上に公開され、現在は約18億ものWebサイトが存在しているといわれています。その中からデータを効率的に取得する「スクレイピング」をご存じでしょうか。
この記事では、スクレイピングについての解説やAPIとの違い、スクレイピングのやり方や注意点を紹介していきます。
目次
スクレイピングとは
スクレイピング(Scraping)とは、Webスクレイピングとも呼ばれ、一言で表すと「Webサイトから情報を抽出すること」です。スクレイピングは本来「削る」という意味の英単語ですが、主に使用されているのは、プログラムが動作してWebサイトの情報(主にHTML)を抽出・取得・収集する意味になります。
具体的には、あるWebサイトから特定の情報を抽出して、任意のWebサイト上に表示させたり、データを加工して蓄積したりすることなどを指します。
スクレイピングの活用例
スクレイピングの活用例にはどのようなものがあるのでしょうか。
例えば、ニュースコンテンツなどをスクレイピングすることで最近のトレンド動向などを探ることができます。
また、競合サイトの検索順位変動データを自動収集することで、自社サイトのSEO対策に役立てることも可能です。加えて、Web上にある各種商品(ECサイトやオークションサイトの商品)の価格を調査することで、自社商品の価格設定の参考にすることもできます。
スクレイピングとクローリング
スクレイピングと似た概念に「クローリング」があります。Webマーケティングの知識のある方だと、クローリングという言葉の方が馴染みがあるかもしれません。
スクレイピングとクローリングに違いはあるのでしょうか。
クローリングとは、クローラーが複数のWebサイトから情報を収集することを指します。例えば、GoogleのクローラーがそれぞれのWebサイトをクローリングして集められた情報が登録(インデックス)され、ユーザーが検索したときに検索結果に表示されるようになります。
つまり、スクレイピングとクローリングは、ともに「Webサイトから情報を集めること」を指します。そのため、両者に大きな差はないといえるでしょう。
スクレイピングとAPIとの違い
スクレイピングと似た概念に、APIもあります。スクレイピングとAPIは何が違うのでしょうか。
そもそもAPIとは
APIはApplication Programming Interface (アプリケーション・プログラミング・インターフェース) の略です。わかりやすく説明すると、「アプリケーション(ソフトウェア)とプログラムを繋ぐ」ことで、「自分のアプリケーション(ソフトウェア)」でも「他人のアプリケーション(ソフトウェア)」を使えるようにすることです。
例えば、ホームページ(自分のアプリ)をTwitter APIでTwitter(他人のアプリ)と連携させることで、ホームページ内でTwitterを直接利用することができます。
また、ホームページと地図アプリをAPIで連携させることで、自社で地図情報を制作することなく、サービスを利用することが可能になります。
スクレイピングとAPIとの違い
スクレイピングもAPIも、他人の情報を抽出・収集するということに変わりはありません。では、スクレイピングとAPIは何が違うのでしょうか。
スクレイピングとAPIの違いを一言で表すと「非公式なやり方」なのか「公式なやり方」なのか、ということです。
スクレイピングは「非公式」なデータ収集方法です。スクレイピングするということは、本来はユーザー向けに公開されている情報(HTML)を、データ収集目的で利用することになります。
一方、APIは「公式」なデータ収集方法です。APIは、サービス提供側がアプリ開発者に向けて公式に発信している情報を収集して利用します。
スクレイピングを行う際は、非公式なやり方であるということを覚えておきましょう。
スクレイピングのやり方
それでは、スクレイピングのやり方を紹介します。スクレイピングを行う際は、オープンソースで運営されているプログラミング言語「Python(パイソン)」が利用されることが一般的です。
スクレイピングする際はPythonのライブラリを使い、対象WebサイトのHTMLをダウンロードした後、データを抽出します。
また、「octoparse」のようなスクレイピング専用のSaasサービスもあります。
使い方など気になるかたは、以下の記事で解説しています。
スクレイピングをする際の注意点
スクレイピングは非公式のデータ収集方法なので、いくつか注意しなければならないことがあります。具体的には「法律を守ること」「利用規約を守ること」「コンプライアンスを守ること」です。一つずつ紹介していきます。
データの収集や活用に関係する法律を守る
スクレイピングする際には、前提としてデータの収集や活用に関係する法律を守る必要があります。
例えば、スクレイピングしたデータをそのまま無断で複製して利用した場合は、著作権法違反になります。
また、過度なスクレイピングを行い、通常より多くのアクセスをすることでサービス運営を妨げると、業務妨害に問われることもあります。
加えて、許可されていない形で情報にアクセスすると、不正アクセス禁止法に抵触する可能性もあります。
スクレイピングを行う際は、各種法令に違反しないよう十分注意しましょう。
データ収集先の利用規約を守る
スクレイピングする際には、データ収集先の利用規約を確認することをオススメします。
Webサイト(サービス)によっては、スクレイピングを禁止している場合もあります。利用規約で禁止されているにも関わらずスクレイピングをした場合、トラブルに発展する可能性もあるので注意してください。
コンプライアンスを守る
スクレイピングする前には、自社のコンプライアンスも確認することが無難です。
スクレイピングは「非公式」なデータ収集方法です。たとえ各種法令やデータ収集先の利用規約を順守していても、各企業のコンプライアンス(特に企業倫理)によっては問題になることもありますので注意してください。
スクレイピングは最後の手段とする
スクレイピングは最後の手段とする、と認識していることが重要です。
非公式なスクレイピングよりは、公式のAPIを利用した方が問題は起きません。
スクレイピングを行う前には、代替手段がないかを検討し、
スクレイピングを行う以外の方法がないか探すようにしましょう。
まとめ
スクレイピングとは、Web上のデータを自動収集することを指します。仕組みとしてはクローリングとほぼ同義と捉えて問題ありません。
ニュースコンテンツの情報や競合サイトの情報、Web上に出ている各種商品の情報を自動で収集できるため、マーケティングやセールス活動に活かすことができます。
スクレイピングを行うためにはPythonなどのプログラミング言語を理解している必要があるため、導入ハードルは高い傾向にあります。
注意点は、スクレイピングはAPIと異なり「非公式なデータ収集方法」ということです。
スクレイピングを行う際は、関係法令やデータ収集先の利用規約、自社のコンプライアンスの確認を行い、予期せぬトラブルを起こさないようにすることが重要です。