ウェブスクレイピングにおける倫理

スクレイピング, Jan-0220225分で読める

ウェブスクレイピングは、インターネット全体がそれに基づいているので、新しい概念ではない。例えば、Youtubeの動画のリンクをFacebookでシェアすると、そのデータがスクレイピングされ、投稿に動画のサムネイルが表示される。このように、すべての人の利益のためにデータ・スクレイピングを利用する方法は無限にある。しかし

目次

ウェブスクレイピングは、インターネット全体がそれに基づいているので、新しい概念ではない。例えば、Youtubeの動画のリンクをFacebookでシェアすると、そのデータがスクレイピングされ、投稿に動画のサムネイルが表示される。このように、すべての人の利益のためにデータ・スクレイピングを利用する方法は無限にある。しかし、ウェブからのデータスクレイピングには倫理的な側面もある。

あなたが健康保険プランに申し込んだとしよう。あなたは、保険会社が提供するサービスと引き換えに、自分の個人情報を喜んで保険会社に提供する。しかし、見知らぬ誰かがあなたのデータでウェブスクレイピングの魔法を使い、それを個人的な目的で使ったらどうだろう。事態は不適切なものになりかねない。ここで、倫理的なウェブスクレイピングを実践する必要性が出てくる。 

この記事では、ウェブスクレイピングの行動規範と、法的および倫理的な考慮事項について説明します。

ウェブ・スクレイピング行動規範

合法的なウェブスクレイピングを実践するためには、以下の簡単なルールを守る必要があります。

インターネットを壊さない - すべてのウェブサイトが1秒間に何千ものリクエストに耐えられるわけではないことを知っておく必要があります。それを許可しているウェブサイトもあるが、同じIPアドレスを使って複数のリクエストを送るとブロックされるウェブサイトもある。例えば、ハイパーリンクをたどるスクレイパーを作成する場合、まず小規模なデータセットでテストし、想定通りの動作をすることを確認する必要がある。さらに、スクレイパーの設定を調整して、リクエスト間の遅延を許容する必要がある。 

robots.txtファイルの閲覧 - ウェブサイトは、robots.txtファイルを使用して、ボットにサイトのクロールの可否を知らせます。ウェブからデータを抽出する場合、法的な問題を避けるために、robots.txtファイルを批判的に理解し、尊重する必要があります。 

共有できるものは共有する - パブリックドメインでデータをスクレイピングする許可を得てスクレイピングすれば、それを他の人が再利用できるように(例えばdatahub.ioに)公開することができる。もしウェブスクレーパーを作ったら、そのコードを共有し(例:Github)、他の人がその恩恵にあずかれるようにする。 

ダウンロードしたコンテンツを違法に共有しない - 著作権のある情報であっても、個人的な目的でデータをスクレイピングすることは問題ない場合があります。しかし、共有する権利のないデータを共有することは違法です。

親切に尋ねることができる - プロジェクトのために特定の組織からのデータが必要な場合、あなたが望むデータを提供してもらえるかどうか、その組織に直接尋ねることができる。あるいは、その組織のウェブサイトにある主要な情報を利用し、ウェブスクレーパーを作成する手間を省くこともできる。 

ウェブスクレイピングの倫理的考察

ウェブからデータをスクレイピングする際には、以下の倫理を念頭に置く必要がある。

データを盗むな

ウェブスクレイピングは、状況によっては違法となる可能性があることを知っておく必要がある。もしスクレイピングしたいウェブサイトの利用規約が、コンテンツのコピーやダウンロードを禁止しているのであれば、そのデータをスクレイピングせず、そのウェブサイトの利用規約を尊重すべきです。

パスワードで保護された認証システムの背後にないデータ(一般に利用可能なデータ)をスクレイピングすることは、ウェブサイトを壊さないことを念頭に置けば問題ありません。しかし、スクレイピングしたデータをさらに共有すると問題になる可能性がある。例えば、あるウェブサイトからコンテンツをダウンロードし、別のウェブサイトに掲載した場合、そのスクレイピングは違法とみなされ、著作権違反となります。 

ウェブを壊すな

ウェブ・スクレイパーを書くときはいつも、ウェブサイトに何度も問い合わせを行い、その膨大な数のページにアクセスする可能性がある。ページごとに、サイトをホストしているウェブサーバーにリクエストが送られる。サーバーはリクエストを処理し、コードを実行するコンピューターにレスポンスを送り返す。私たちが送るリクエストは、サーバーのリソースを消費します。そのため、短いスパンで多くのリクエストを送信すると、その間に他の一般ユーザーがサイトにアクセスできなくなる可能性があります。

ハッカーはしばしばサービス拒否(DoS)攻撃を行い、ネットワークやマシンを停止させ、目的のユーザーがアクセスできないようにする。これは、クラッシュの引き金となる情報をサーバーに送信したり、標的のウェブサイトにトラフィックを殺到させたりすることで行われる。 

DoS攻撃はインターネットではよくあることなので、最近のほとんどのウェブサーバーには、リソースの不正使用を防ぐ対策が施されています。一つのIPアドレスから大量のリクエストが来るのを警戒しているのです。そのアドレスが短時間に複数のリクエストを送信した場合、そのアドレスをブロックすることができます。

尋ね、分かち合う

プロジェクトの範囲にもよるが、スクレイピングを計画しているデータのキュレーターや所有者に尋ねてみる価値はある。あなたのプロジェクトのニーズに合うような構造化されたフォーマットで利用可能なデータがあるかどうか尋ねることができる。もしあなたが、彼らが興味を持つ可能性のある方法で、彼らのデータを研究目的で使いたいのであれば、ウェブスクレーパーを書く手間を省くことができる。 

また、他の人がウェブスクレーパーを書く手間を省くこともできる。例えば、研究プロジェクトの一環としてデータやドキュメントを公開する場合、誰かがあなたのデータを入手して使いたいと思うかもしれない。もしあなたが望むなら、構造化されたフォーマットであなたの生データをダウンロードする方法を他の人に提供することができる。

転ばぬ先の杖

データのプライバシーと著作権に関する法律は国によって異なります。あなたの国で適用される法律を確認する必要があります。例えば、オーストラリアのような国では、電話番号、電子メールアドレス、名前などの個人情報をスクレイピングすることは、たとえそれらが一般に入手可能であっても違法です。

個人的な使用のためにデータをスクレイピングする場合は、ウェブスクレイピングの行動規範を守る必要があります。しかし、商業目的や研究目的で大量のデータを取得したい場合は、おそらく法的アドバイスを求める必要があります。

倫理的なウェブスクレイピングのためのプロキシ

プロキシにはさまざまな用途があることはご存じだろう。その主な目的は、IPアドレスとユーザーの所在地を隠すことです。プロキシはまた、ユーザーがインターネットをサーフィンする際に、地理的に制限されたコンテンツにアクセスすることを可能にします。このように、プロキシはコンテンツと地域制限をバイパスするため、ユーザーは隠されたページにアクセスすることができます。

プロキシを使えば、ブロック率を下げることができるので、スクレイパーの出力を最大化することができる。プロキシがなければ、ウェブから最小限のデータしかスクレイピングできない。プロキシはクロールレートを上回るため、スパイダーはより多くのデータを抽出することができるからだ。クロールレートとは、一定の時間枠内に送信できるリクエストの数を示す。このレートはサイトによって異なります。 

プロキシの選択

プロジェクトの要件に応じてプロキシを選択することができます。プライベートプロキシか共有プロキシのどちらかを使うことができます。

  • プライベートプロキシは、プロジェクトが高いパフォーマンスと最大限の接続を必要とする場合に最適です。
  • 共有プロキシは、限られた予算で小規模なプロジェクトを行う場合に適している。
  • ウェブからデータを抽出する際、無料のプロキシは推奨されない。なぜなら、それらは一般に公開されており、しばしば違法行為に使用されるからである。

あなたのプロジェクトにプロキシを選択することとは別に、IPソースを識別することができます。プロキシサーバーには3つのカテゴリーがある。 

データセンター・プロキシ - ウェブ・スクレイピング用の最も安価で実用的なプロキシです。これらのIPは独立したサーバー上に作成され、大規模なスクレイピングプロジェクトを達成するために効率的に使用されます。

レジデンシャル・プロキシ - 第三者と提携しているため、入手が困難な場合がある。 

モバイルプロキシ - 最も高価なもので、モバイルデバイスでのみ表示されるデータを収集する必要がある場合に使用するのに適している。

ウェブ・スクレイピングの倫理に関する結論

ここまでは、法的・倫理的な配慮をすることで、インターネットからデータを抽出できることを説明した。例えば、ウェブからデータを盗むべきではありません。権利のないデータを共有することはできない。もしあなたのプロジェクトにある組織のデータが必要なら、構造化されたフォーマットで生データを共有してもらえないか、その組織に頼むことができる。あるいは、彼らが許可すれば、ウェブスクレーパーを書いてウェブサイトからデータを抽出することもできる。さらに、プロジェクトのニーズに応じて異なるプロキシを選択できることを説明した。ウェブスクレイピングに広く使用されているデータセンターIPや居住者IPを使用することができます。