LoginSignup
3
3

WEBスクレイピングする時のお作法まとめ

Last updated at Posted at 2023-10-06

WEBスクレイピングする時のお作法まとめ

WEBスクレイピングを利用すれば、ウェブページから自動的に情報を抽出することができます。

通常、WEBスクレイピングはプログラムやスクリプトを使用して行われ、ウェブページのコンテンツを解析し、特定のデータを抽出したり、データベースに保存したりします。この技術を使用すれば、手動でのコーディングなしに、Webサイトから迅速にデータを取得することができます。

WEBスクレイピングは違法?

WEBスクレイピングの対象は、Webサイトに掲載されている情報です。

基本的には、Webサイトが公開している情報を参照しているだけであり、スクレイピングによる情報の収集自体は違法ではありません。

ただし、気をつけるポイントはありますのでポイントをまとめます。

WEBスクレイピングする際に気をつけるべきポイント

WEBスクレイピングは非常に便利ですが、相手側のサービスに迷惑をかけないことを前提にサービス設計することが重要です。

スクレイピングを行う際に注意すべき事柄の一つに岡崎市立中央図書館事件があります。

岡崎市立中央図書館事件は、2010年3月頃に岡崎市立図書館の蔵書検索システムにアクセス障害が発生し、利用者の一人が逮捕された事件です。利用者は攻撃の意図は持っておらず、問題の原因は図書館側のシステムの不具合にあったことから大きな論議を呼び起こしました。逮捕された人物は取調べの後、Librahackというサイトを立ち上げて事件を解説したことから、Librahack事件とも呼ばれます。

開発者が開発したスクレイピングサービスで蔵書検索システムに「1秒に1アクセス」という頻度でアクセスし、情報を取得しようとしたところ、蔵書検索システムが特殊な仕様であったため、一般のユーザーがWebサイトからの閲覧ができない状態になりました。

このように、WEBスクレイピングを行い相手側のサービスに迷惑をかけることを避けるための注意が必要です。

2.できる限りAPIを利用する

WebサイトのHTML構造は、A/BテストやUIの改善のために頻繁に変更されることがあります。

その結果、HTMLの構造が変わるとスクレイピングが失敗する可能性が高まり、都度プログラムの修正が必要になる場面が増えます。

一方で、公開APIを利用する場合、リクエストとレスポンスの構造が安定しているため、プログラムでのデータ取得がスムーズに行えます。

スクレイピングを行いたいサイトがAPIを提供している場合、APIを利用する方が安定して運用できるので、その利用がおすすめです。

3.相手にもメリットがある状況にする

スクレイピングされる側のサイトにも何らかのメリットがある状況を作ることが重要です。

スクレイピングの行為だけでは、以下のようなデメリットを相手側に与える可能性があります:

1. リクエストによるサーバー負荷
2. スクレイピングだけでは直接の収益に繋がらない

一方、以下のような取り組みを行うことで、スクレイピングの対象となるサイト側にもメリットを提供できるかもしれません:

1. リクエストがサーバーに負荷をかけないような方法でアクセスし、SEOの向上に寄与する
2. スクレイピングだけでなく、対象となるサイトのサービスを積極的に利用し、収益向上に貢献する

スクレイピングを行う際は、単に情報を取得するだけでなく、相手側にも何らかのメリットを提供することを心がけると良いでしょう。

4.相手側の利用規約を事前に確認する

スクレイピングを行う前に、目的とするウェブサイトの利用規約を必ず確認しましょう。

多くのウェブサイトは、自らの利用規約の中でスクレイピングの行為に関するポリシーやガイドラインを定めています。

利用規約は法的効力を持つドキュメントであり、スクレイピングが明示的に禁止されているサイトをスクレイピングした場合、違反となります。

その結果、法的措置を取られる可能性もあるため、十分な注意が必要です。

5.負荷に配慮する

スクレイピングによって、目的とするウェブサイトのサーバーに過度な負荷をかけることは避けるべきです。短時間に大量のアクセスを行うと、サーバーに負荷がかかり、その結果サービスが停止することも考えられます。

そこで大事なのが相手側のサービスの負荷をできる限り抑えてスクレイピングすることです。

1. スクレイピングの速度を調整する
短時間で大量にアクセスすると、サーバーに大きな負荷がかかる可能性があります。そのため、アクセスの間隔をあける、夜間やトラフィックが少ない時間帯にスクレイピングを行うなど、負荷を軽減する工夫が必要です。

2. 必要なデータのみを取得する
無駄なページや情報を取得しないようにし、効率的にデータを収集することで、サーバーへの負荷を軽減できます。

このように相手側の負荷を考えてスクレイピングすることが重要です。

6.個人情報の取り扱いに注意する

平成29年の改正個人情報保護法施行により、ほとんどすべての事業者が「個人情報取扱事業者」として個人情報保護法の適用を受けることになりました。この法律では、個人情報※1を取得する際には、利用目的を本人に明示する必要があります。スクレイピングで個人情報に該当する情報を取得する場合、各人に個別に利用目的を明示することは現実的ではないでしょうから、プライバシーポリシー等で利用目的をあらかじめ公表しておくことが違法とならないためには重要となります。
https://pig-data.jp/blog_news/blog/scraping-crawling/scrapinglaw/

個人情報は本人の同意の上でないと取得できないのでスクレイピングで個人情報を取得することはNGです。

個人情報はスクレイピングで取得しないようにしましょう。

まとめ

WEBスクレイピングは、ウェブ上の情報を効率的に収集する手段として非常に有効ですが、それに伴うリスクや責任も大きいです。上記のポイントを踏まえながら、適切な方法でスクレイピングを行うことが求められます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3