スクレイピングとは?
まずはスクレイピングの概要を見ていきましょう。
HTMLの中から情報を取得・加工すること
スクレイピングのもともとの意味は、クローリングによって取得したHTMLを抽出・加工することです。
クローリングとは、インターネット上に存在するWebサイト間を行き来し、それらの情報を収集することです。よく知られた例として、検索エンジンがサイトをインデックスする際にも、クローリングが行われています。
ただし、実際にはスクレイピングとクローリングの意味に厳密な境界線はありません。同じ意味の言葉として用いられることが多いです。
たとえば、ECサイトのHTML情報を収集し、その中から価格情報を抽出・加工する行為がスクレイピングと呼ばれることがあります。言い換えれば、情報を取得する行為もスクレイピングに含まれる、ということです。
APIとの違い:公式にサポートされているか
スクレイピングと混同されがちなものに、APIがあります。APIは、Webサービスがアプリケーション開発者に対し、情報や機能を提供する仕組みです。
たとえば、観光情報アプリに地図機能を搭載する場合を考えてみましょう。この場合、アプリ開発者は一から地図機能を開発するのは大変です。そこで、地図機能を提供しているAPIを利用し、その機能を組み込むことでアプリを開発できます。
このように、APIはWebサービス提供側が、アプリ開発者に対して公式に機能を提供しているのが特徴です。
それに対し、スクレイピングは公式には認められていません。ユーザー向けに公開されているHTMLを、非公式で収集・分析する行為です。
スクレイピングの活用方法は?
では、スクレイピングはどのような場面で活用されるのでしょうか。
効率的なマーケティング情報の取得
スクレイピングにより他社の商品情報を取得することで、マーケティングが効率化します。APIで提供されていない情報も手に入るため、より精度の高いマーケティング施策が可能になるでしょう。
たとえば、ニュースサイトからキーワードを抽出し、世間のトレンドを知ることもできます。自社サイトのコンテンツ作成に役立てられるでしょう。
また、他社より安い価格で商品を販売したい場合、スクレイピングで他社の価格情報を収集できれば効率的です。特に、オークションのように価格の変動が激しい場合は、スクレイピングによる情報収集の自動化は大きなメリットをもたらします。
新しいサービスの開発
APIと同様、スクレイピングによって得た情報を新しいサービスの開発に活かせます。
たとえば、複数のECサイトから商品価格情報をスクレイピングすることで、価格比較アプリを開発できるでしょう。そのほか、地図情報や株価など、変動の激しい情報を提供するサービスの開発にスクレイピングは適しています。
有名な例として、検索エンジンもスクレイピングを利用したサービスです。インターネット上に存在するWebサイトのHTML情報を解析し、検索キーワードに対して最適なサイトを表示します。
スクレイピングを行う方法は?
スクレイピングを行う方法は、ツールの利用・開発の2種類に分けられます。
- ツールの利用
- 無料のものと、有料のものがあります。無料のものはもっとも低コストですが、プログラミングについての知識が必要です。一方、有料のものは機能が豊富で、基本的にプログラミングの知識がなくても使えます。
- ツールの開発
- プログラミングによって、自身でスクレイピングソフトウェアを開発する方法です。開発にはPythonやJavaScript、PHPなどの言語を用います。
- これらの言語ではスクレイピング用のライブラリを利用できるため、そこまで高度な知識がなくても開発可能です。
スクレイピングを行う際のポイントは?
スクレイピングを行ううえで注意すべきポイントを3つ解説します。
法律を遵守する
スクレイピングをすると、著作権法(昭和45年5月6日)と業務妨害罪(刑法第二編第三十五章「信用及び業務に対する罪」(第233条 - 第234条 - 第234条の2))に抵触する可能性があります。
著作権法は、創作性のあるデータ保護する法律で、無断複製を禁じています。創作物の複製が認められるのは、その目的が私的利用あるいは情報解析の場合のみで、それ以外は違法となります。
スクレイピングで得たデータをサービス開発に利用する場合は、複製データをそのまま提供してはいけません。オリジナルな表現に変え、複製物ではない状態に加工する必要があります。
一方、業務妨害罪はアクセスによって相手のサイトに迷惑を掛けることです。スクレイピングによるアクセスが膨大だと、相手のサーバに大きな負荷を掛けることになります。
これが業務妨害に該当するとして、逮捕者が出た例もあります。アクセスの頻度を抑え、相手サーバの負荷が過大にならないように注意しなければいけません。
Webサイトの利用規約を遵守する
スクレイピングを行う際に守るべきなのは、法律だけではありません。Webサイトの利用規約で禁止されている場合は控えましょう。
特に、SNSなど個人情報が多く存在するサイトでは、スクレイピングが禁止されているケースが多いです。日本では少ないものの、海外ではスクレイピングと規約を巡って裁判沙汰になった例も少なくありません。
ちなみに、スクレイピングのやり方を工夫し、それがばれるのを防ぐ方法があちこちで提唱されているようです。しかし、そういった工夫をしてもスクレイピングが判明するような仕掛けも多く存在します。
違法なスクレイピングが判明した際には、悪質なケースとして大きなトラブルになるため控えましょう。
他の方法も検討する
スクレイピングには違法のリスクがあること以外にも、さまざまな難点が存在します。
たとえば、WebサイトのHTML構造が変化した際には大変です。データの解析・抽出方法を改めなければなりません。また、無断でデータを取得する行為であるため、不正なアクセスとしてブロックされる恐れもあります。
そのため、スクレイピング以外の方法も検討しましょう。公式に提供されているAPIが使えるなら、そちらを利用しましょう。
スクレイピングを正しく行い、データを活用しよう!
スクレイピングとは、WebサイトのHTMLから情報を収集し、解析・加工などの処理を行うことです。マーケティングやサービス開発に利用できます。無料・有料ツールを利用するほか、プログラミングでツールを自作することで行えます。
ただし、法律やサイトの利用規約には要注意です。これらに違反するリスクがあるため、ほかの方法があるならそちらを選びましょう。
以上を踏まえ、正しくスクレイピングを活用してください。