ビジネスにおいてデータ活用や情報収集が加速する昨今、「Webスクレイピング」を実施して情報を効率的に集めて活用する取り組み事例が増加傾向にあります。しかし、「Webスクレイピングは専門的な内容で、自社での活用は難しいのでは」と感じてしまうこともあるでしょう。そこで今回は、Webスクレイピングの概要から仕組み、Webスクレイピングを活用するメリットと事例、注意点や実施方法まで分かりやすく解説します。
Webスクレイピングとは、Web上の特定の情報を自動的に抽出する技術を指します。スクレイピング(Scraping)とは「Scrape(こする・かき出す)」からきている言葉であり、情報をこするようにかき出すといった意味合いを持ちます。
企業にとって、Web上の日々更新される最新の情報を収集する取り組みは、昨今の変化が激しい市場に対応するためにも欠かせないものとなっています。膨大な情報から必要な情報を抽出するWebスクレイピングは大いに活用されています。
関連記事:Webスクレイピングのやり方をゼロから解説!方法・手順まとめ
Webスクレイピングは、大きく「Webクローラー」と「Webスクレイパー」の2つで構成されており、それぞれの工程によって成り立ちます。
Web上を循環するクローリング作業を担うWebクローラーが自動的に情報を収集・保存した後、Webスクレイパーがスクレイピングを行います。WebページはHTMLという言語で構築されていますが、そのHTML内から不要な情報を削った上で、必要なテキストや画像、動画などを自動で抽出するのがWebスクレイピングです。
Webスクレイピングは、クローリングとスクレイピングの2つの工程を含みます。そのため、クローリング単体と比べると意味が異なります。
クローリングとは、クローラーというプログラムがWeb上を、WebページのリンクをたどりながらWebサイトを巡回し、Webページにある情報を保存・収集することを指します。
Webスクレイピングとの大きな違いは「目的」にあります。クローリングは、あくまでWebサイト全体の情報を収集してリストアップしていくことを目的とする一方で、スクレイピングは必要な情報にしぼって抽出することを目的とします。つまり、情報収集主にとって必要な情報だけを得ようとする試みがWebスクレイピングの特徴といえます。
関連記事:Webクローリングとは?基本的な仕組みから活用法まで分かりやすく解説
関連記事:スクレイピングとクローリングの違いを解説!利点や使用例を比較
Webスクレイピングを活用することで、次のようなメリットが期待できます。
手動でWeb検索を行ったことがある方はお分かりかもしれませんが、検索エンジンで検索し、一つ一つのWebページを閲覧していくのは時間を要します。開いたページに必ずしも求める情報があるわけではないため、無駄な時間が発生してしまうこともあるでしょう。
Webスクレイピングを活用して情報収集を自動化することで、手動でのWeb検索を行わずとも大量のWebページから求める情報を抽出できるため、情報収集作業の短時間化・効率化が実現します。
Webページを巡回した時点の情報を取得できるため、Webスクレイピング実行時の最新情報を手に入れることができます。これにより、競合他社の開示情報や市場の動き、株価や商品価格の値動きなど、定期的に最新情報を収集することが可能となります。情報の更新性が重視される環境において、Webスクレイピングの情報収集体制が整っていることは大きな強みとなるでしょう。
Webスクレイピングで素早く入手した情報を用いて分析を行うことで、社内でデータに基づいた施策を実行していくことができます。例えば、競合他社の最新の製品価格をいち早く入手することができれば、自社製品の価格に反映するなどしてタイムリーな施策の実行が可能になります。
Webスクレイピングでは、具体的にどのようなことが実施できるのでしょうか。活用事例と共にご紹介します
Webスクレイピングでマーケティング情報を収集することも可能です。
ある住宅建材メーカーでは、セールス担当者に対してマーケティング情報を提供する部署があり、そのために膨大な量の情報収集が必要でした。そこで、Webスクレイピングを活用し、ECサイトや不動産サイト、ニュースサイト、求人サイト、旅行サイト、SNSなどさまざまなWebページから大量の情報を自動的に収集できるようになりました。さらには、取得情報を社内データと統合・整形した上で分析し、可視化する体制を作りました。
その結果、一部の工程に2~3日要していたところ、分析を含めて2時間程度にまで短縮でき、マーケティング情報収集における工数を大幅に削減できたのです。
Webスクレイピングでは、随時、最新の情報に更新される不動産情報の収集を行うこともできます。
ある不動産関連企業は、物件情報のWebクローリングを自社で行っていましたが、技術的な面で取得できる情報が限られていた課題がありました。そこで、Webスクレイピングサービスを専門でサービス展開している企業に依頼したところ欲しい情報をしっかりと取得することができました。またその取得したデータを活用し、BIツールとデータ連携による分析・活用の仕組みも構築したところ、求めている不動産情報の収集はもちろん、1~2時間の作業が15~30分程度に短縮できました。
自社が取得している商標を不正に利用されていないかといった調査をWebスクレイピングで実施することも可能です。
ある総合日用品メーカーは、ブランド名や商品名が無断で使用されていることを知った段階で、手動で随時対応していましたが、その件数の多さから人力調査では作業負荷が高い状況でした。そこで、Webスクレイピンを活用し、商標の無断使用の疑いのあるページ情報を自動取得できるようになり、情報収集の大幅な効率化につながりました。
検索エンジンにおいて、自社の公式サイトの検索順位は何位なのか、競合他社はどの程度か、といった情報もWebスクレイピングで取得することが可能です。これにより、SEO(検索エンジン最適化)の施策を行う上で重要なヒントになります。
営業先となるアプローチリストをWebスクレイピングで取得することができます。企業HPの会社概要や求人情報などを人力で検索し、求める情報をコピー&ペーストによって入手することは可能ですが、手動収集ではどうしても限界があり、件数が限定的になってしまうでしょう。また、企業によってWebサイトの構造が異なるため、求める情報にたどり着くまでの時間も多く要することになります。
そこで、条件を指定したWebスクレイピングを行い、自社の営業先となり得る多くの見込み顧客の情報を自動収集することで、最小限の労力で営業リスト作成が可能となります。また、Webスクレイピングの実行頻度を高めれば、営業リストの更新性も高まり、可能な限り最新の状態を維持することができます。
研究活動や実験、論文の作成などを行う際には、最新かつ正確な情報をキャッチすることは欠かせません。世の中に存在する研究データを自動で、タイムリーかつ迅速な情報入手が可能になり、研究活動のスピードアップにつながることが期待できます。
関連記事:Webスクレイピングでできることは?用途や事例など解説
関連記事:Webスクレイピングの活用事例集。ビジネスで役立つ用途を解説
ここまでWebスクレイピングの基礎を解説してきました。では、実際にWebスクレイピングを行うにはどうすればよいのでしょうか。方法として、大きく2通りあります。
Python、PHP、RubyなどのWebスクレイピングのプログラムを組むのに向いている言語を用いて、自ら(自社で)Webスクレイピングを実行する方法です。プログラミング知識も人的リソースもある場合や最小限のコストで行いたい場合に適しています。
社内で独自にプログラムを開発することが困難である場合や、大規模な情報収集を行いたい場合には、外部のサービスやツールを利用することもできます。
例えば、キーウォーカーのWebスクレイピング&Webクローリングツール「ShtockData」では、Webサイトを周期的にクローリング(巡回)し、Webページ上のデータを抽出するツールです。テンプレート機能やAIデータ整形機能などにより、すぐに・誰でも・簡単に活用できます。
Webスクレイピング&Webクローリングをすぐに誰でもできるツール型のShtockDataについて1冊にまとめました。特徴や費用感、導入後の運用イメージなどを集約しています。
ぜひお気軽にダウンロードしてみてください。
上述のWebスクレイピングを行う2つの方法のうち、自らプログラムを組んで対応する場合は、Webスクレイピングに適したプログラミング言語を選択するようにしましょう。おすすめの言語としては以下が挙げられます。
Python:シンプルな言語で、ライブラリやフレームワークもあるため、初心者でも比較的容易に利用できる
PHP:開発環境が整備されている場合は利用しやすい
Ruby:個人レベルであれば利用推奨だが、複数人での開発は煩雑になるおそれ
JavaScript:学習コストが低く、比較的容易に開発を進められるが、環境構築に手間がかかる
また、プログラミング言語を習得する時間の確保が難しい場合は、Excelの拡張機能である「VBA」や「Google Apps Script(通称GAS)」なども候補に挙げられます。
言語の詳細な特徴や適した言語の選択基準は、以下の記事よりご覧ください。
上述の通り、2通りあるWebスクレイピングの方法のうち、プログラミング言語を用いて自社でWebスクレイピングを行うやり方として、Pythonを用いたWebスクレイピングを解説します。
Pythonのコードを記述・実行するためには、まず環境を構築する必要があります。専用のプログラムをPCやサーバーにインストールすることで環境を整えます。
Python公式サイトで配布されているプログラムのインストールを行い、手順に沿って進めましょう。また、本格的なプログラミング開発を行う際に欠かせない統合開発環境(IDE)も構築します。IDEには開発に必要なツールがそろっていることから、開発をスムーズに進められます。Pythonで使用できるIDEは複数ありますので、その中から適したものを利用しましょう。
Pythonの開発環境が整備されたら、Webスクレイピングのためのロボットを作っていきます。「Requests」、「Beautiful Soup」などのライブラリを利用して記述していきます。複数のライブラリを組み合わせるか、「Scrapy」のように単体で完結するライブラリを利用するなど、状況に応じて最適なものを選択して実施しましょう。
1.Requestsを用いたWebページの情報取得:Requestsで情報を取得したいWebページにアクセスするコードを記述する
2.Beautiful Soupを用いたデータ抽出:Beautiful Soupでデータを抽出したいWebページから情報を抽出するコードを記述する
具体的なコード記述例は以下のコラムをご確認ください。
上述のようなWebスクレイピングに対して「法律で規制されており、違法なのではないか」と指摘されることがありますが、スクレイピングは基本的に実施すること自体に違法性はありません。
インターネットなど公開されている情報を収集するという行為は、誰かが意図的に公開しており、誰もが自由に閲覧できる情報を対象に、それらを集めるという行為であるためです。つまり、スクレイピングは実際にインターネットで検索して情報を収集をする行為と同等とみなされ、法的に問題ありません。
しかし、収集した情報の取り扱い方や収集の仕方よっては違法行為となる場合があります。違法行為に該当しないための注意点として、後述いたします。
Webスクレイピングを行う際には、次のような点に注意して実行するようにしましょう。
Webスクレイピングにおいては、個人情報の取り扱いについて慎重に行う必要があります。Webスクレイピングで入手した個人情報を本人の同意なく、取得し、公開し、売買することは基本的に違法となります(ただし違法にならないケースもあります)。
Web上には著作物が多く公開されていることから、著作権のあるコンテンツの取り扱いには注意しましょう。取得した情報に著作物が含まれる場合、著作権を無視した利用、複製などを行うことは禁じられており、著作権侵害となるケースがあります。
ただし、著作権法では「例外規定」が設けられています。この例外規定が適用される場合には許諾を得ずに著作物を利用できますが、目的外で著作物を使用することはできません。Webスクレイピングに関連する例外規定としては、「情報解析」についての言及です。詳細については、以下をご覧ください。
関連記事:Webスクレイピング・Webクローリングと著作権法について。注意点を解説
Webスクレイピングの対象サイトによっては、サーバーに負荷がかかることがあります。スクレイピングプログラムを高頻度で実行してしまうと、対象サイトのサーバーが重くなり、閲覧がスムーズにできなくなるほか、Webサイトがダウンしてし、営業妨害にまでつながるリスクがあります。これは、サーバーへのリクエストが関係しており、以下のような点を意識するとよいでしょう。
・リクエストの間隔をあける
・同時に大量のWebスクレイピングを行わず、タイミングをずらす
・対象Webサイトのアクセスが少ない時間帯にずらしてみる
・APIの利用も検討する
上述の通り、目的によってはAPIの利用も検討しましょう。APIとは「Application Programming Interface/アプリケーション・プログラミング・インターフェイス」の略で、Webサービスなどのアプリケーションが別のアプリケーションと情報をやり取りするためのインターフェースです。収集先サイトがAPIを公開しているのであれば、APIで情報を取得する方法も検討しましょう。
Webサイトの中にはスクレイピング行為を禁止しているサイトもあるため、確認したうえでWebスクレイピングを実行するようにしましょう。
Webスクレイピングの概要から活用するメリットと事例、実施方法、注意点まで解説しました。
活用事例から分かるように、日常的な情報収集業務や市場調査、インプットなどでWebスクレイピングが活躍します。大量の情報から条件に合致した部分だけを取得できるほか、人力での作業負担を大幅に軽減しつつ、価格や市場データなど最新情報を保持できます。
ただ、Webスクレイピングにまつわるノウハウがない、急を要するビジネス活用で時間が不足している、といった場合ではWebスクレイピングを自力で行うのは難しいでしょう。その場合、Webスクレイピングサービス・ツール利用がおすすめです。
キーウォーカーでは、すぐに・誰でも・簡単にWebスクレイピングができるツール「ShtockData」と、Webスクレイピングをすべてお任せできる代行サービス「ShtockData Pro」をご提供しています。いずれも情報取集を自動化し、人的コスト削減につながり、データをビジネスに有効活用することが可能です。
あまり手間をかけずにWebスクレイピングを実行してみたいという場合は「ShtockData」、手間を一切かけられないが複雑な条件でデータ収集を行いたいという場合は「ShtockData Pro」をご検討ください。それぞれの詳細は以下よりご覧ください。
Webスクレイピング&Webクローリングをすぐに誰でもできるツール型のShtockDataについて1冊にまとめました。特徴や費用感、導入後の運用イメージなどを集約しています。
ぜひお気軽にダウンロードしてみてください。
Webスクレイピング&Webクローリングをすべてお任せできる代行サービス型のShtockData Proについて1冊にまとめました。特徴や選ばれる理由、事例などを集約しています。
ぜひお気軽にダウンロードしてみてください。