logo
languageJPdown
menu

スクレイピング対策 – バレないようにする方法を解説

約6分で読めます

「Webスクレイピングをばれないようにどうしたらいい?」Webスクレイピングツールを提供する私たちの元には、このような質問が度々送られてきます。

Octoparseをはじめとした「Webスクレイピングツール」が登場したことで、多くの分野でWebスクレイピングの活用が進んでいます。しかし、Webスクレイピングを問題視する声も少なくありません。例えば、Webスクレイピングによって相手サーバーに負荷が掛かり、最悪サーバーダウンにつながる可能性があります。もし、サーバーダウンによって相手の業務に支障がでたら、損害賠償責任や偽計業務妨害罪などに問われるでしょう。

そのため、Webサイト所有者はWebスクレイピングを制限するために、スクレイピング防止技術を装備して、Webスクレイピングはより困難になっています。しかし、スクレイピングを相手にバレないようにする方法はまだあります。

本記事では、スクレイピングをバレないようにするための5つ対策を解説します。ちなみに、スクレイピング行為自体は違法ではありません。不安に感じる方は以下の記事も合わせてご覧ください。

スクレイピングは違法?Webスクレイピングに関する10のよくある誤解!

スクレイピングがブロックされる原因とは

Webサイトによっては意図的にスクレイピングをブロックする仕組みを構築しています。スクレイピングは短時間に大量のリクエストを送るため、サーバーの過負荷に耐えきれずサーバーダウンに繋がる可能性もありますし、サイト内で扱っているデータを勝手に取られたくないといった思惑があるからです。

スクレイピングを防ぐ主な方法としては2つ挙げられます。

  1. CAPTCHA(キャプチャ)
  2. IPアドレスブロック

CAPTCHA(キャプチャ)は、画像やテキストを用いて、Webサイトにアクセスしているのが人間かコンピューターかを識別するために用いられる手法です。有名なサービスでは、Googleの「reCAPTCHA」などがあります。

IPアドレスブロックは、同一のIPアドレスから短時間で大量のリクエストを検知した場合に、そのIPアドレスからのアクセスを遮断する方法です。こうした手法を活用し、スクレイピングの脅威やそれに伴うリスクを防いでいます。

スクレイピングがバレるとどうなる?

スクレイピングがバレた場合、以下のような結果が生じる可能性があります。

  1. アクセス制限:ウェブサイトの所有者は、スクレイピングを検出すると、あなたのIPアドレスやユーザーエージェントをブロックすることがあります。これにより、そのウェブサイトへのアクセスが制限される可能性があります。
  2. 法的措置: ウェブサイトがスクレイピングを違法と判断する場合、法的措置を取る可能性があります。これには、警告や法的な訴訟などが含まれます。特に、個人情報や著作権で保護されたコンテンツをスクレイピングした場合は、重大な法的な問題に発展する可能性があります。
  3. 評判の損失: スクレイピングがバレると、倫理的な観点からも評判が損なわれる可能性があります。特に、個人データの不正利用や、競合他社の情報を不正に入手した場合、信頼性やビジネス上の信頼が失われる可能性があります。

スクレイピングをバレないようにする方法・対策5つ

スクレイピングがブロックされる原因を理解したところで、ここからは相手にスクレイピングをバレないように行う方法を紹介します。スクレイピングがばれるときに助けになれると思います。

1. スクレイピングのスピードを落とす

ほとんどのWebスクレイピング作業は、できるだけ早くデータを取得することを目的としています。当然ながら、Webスクレイピングと比べて、人間がWebサイトにアクセスするスピードは遅くなります。そのため、アクセス速度によって、サイト側はWebスクレイパーからのアクセスであるかどうかを判断できます。アクセスが早すぎることが判明したら、Webスクレイパーの疑いがあると判断され、そのアクセスをブロックします。

つまり、Webサイトに負荷を掛け過ぎないことが重要です。Webスクレイパーのアクセスリクエストの時間を空け、可能な限り低速でスクレイピングします。相手サーバーに負荷を掛けずに優しくすれば、確実にスクレイピングを続けることができます。

Octoparseでは、ワークフロー内のステップの待ち時間を設定して、スクレイピングのスピードをコントロールできます。スクレイピングをより人間的に実行するための「ランダム」を選択することも可能です。

2. プロキシサーバーを使う

Webサイトが単一のIPアドレスから、多数のリクエストを検出した場合、そのIPアドレスはブロックされやすくなります。すべてのリクエストを同じIPアドレスから送信しないようにするには「プロキシサーバー」を使用するのが有効です。

プロキシサーバーとは、他のコンピュータの「代理」として他のサーバーと通信するサーバーのことを指します。つまり、真のIPアドレスを隠して、設定したIPアドレスを使ってWebサイトにリクエストを送ることが可能です。

ただし、プロキシサーバーに設定されている単一のIPアドレスだけを使用しても、ブロックされやすい状態は変わりません。そこで、IPアドレスのプールを作成し、異なるIPアドレスをランダムに使用してリクエストを送る必要があります。それをIPローテーションといいます。

クラウドサービスのOctoparseは、それぞれ独自のIPアドレスを持つ何百台のクラウドサーバーによってサポートされています。抽出タスクの実行がクラウドに設定されている場合、ターゲットのWebサイトごとに、さまざまなIPアドレスを介してリクエストが行われるため、追跡される可能性を最小限に抑えられます。また、ローカル抽出であればブロックされないように手動でプロキシを設定できます。

3. 異なるスクレイピングパターンを適用する

人間がWebサイトを閲覧する場合はクリックや閲覧時間が不規則になります。しかし、Webスクレイピングは、あらかじめプログラムされた特定のクローリングパターンに従うため、規則的になります。スクレイピングを防ぐ場合は、Webサイトで実行された規則的なスクレイピング動作を識別することで、クローラーを簡単に検出できるのです。

そのため、Webスクレイピングでは、スクレイピングパターンを都度変更して、ランダムなクリック、マウスの動き、リクエストなどを、より人間的にするための待ち時間をワークフローに組み込む必要があります。

Octoparseでは、3〜5分程度で簡単にワークフローを設定できます。ドラッグ&ポイントを使用してクリックやマウスの動きを追加したり、ワークフローをすばやく再構築したりすることで、開発エンジニアのコーディング時間を大幅に節約し、非エンジニア担当者が独自のスクレイパーを簡単に作成できるようにします。

4. ユーザーエージェントを切り替える

ユーザーエージェント(UA)は、リクエストのヘッダーにある文字列で、Webサーバーに対するブラウザとオペレーティングシステムを識別します。Webブラウザによるすべてのリクエストには、ユーザーエージェントが含まれています。

一つだけのユーザーエージェントで異常に多数のリクエストを送信すると、ブロックされる可能性があります。ブロックを回避するためには、ユーザーエージェントを頻繁に切り替える必要があります。

多くのプログラマーは、偽造されたユーザーエージェントをヘッダーに追加するか、ブロックされないように手動でユーザーエージェントのリストを作成します。Octoparseを使用すると、ユーザーエージェントの切り替えを自動化できるため、ブロックされるリスクを減らすことができます。

5. ハニーポットトラップに注意する

ハニーポットとは、わざと不正アクセスやサイバー攻撃を受けやすいように設定した機器を徹底的に監視して相手の手口を分析する手法のことです。

通常の訪問者には見えないリンクで、HTMLコード内にあり、Webスクレイパーによって見つけることができます。つまり、スクレイパーがハニーポットページを閲覧すると、そのWebサイトはそれが人間の訪問者ではないことを識別でき、そのクライアントからのすべてのリクエストを抑制またはブロックします。

特定のサイト用のスクレイパーを作成するときは、標準のブラウザを使用してユーザーに隠されたリンクがあるかどうかを慎重に確認することをお勧めします。

Octoparseは、偽のリンクをクリックしないように、正確なキャプチャやクリック操作にXPathを使用します。詳しくは、XPathを使用して要素を見つける方法の記事をご覧ください。

他のよくある質問

質問1:Seleniumでのスクレイピングはばれるの?バレたらどうなる?

答え:Seleniumを使用したウェブスクレイピングは、ウェブサイトの利用規約に違反しなければ法的には問題ありません。ただし、ウェブサイトの所有者がスクレイピングを検出した場合、アクセス制限や法的措置が取られる可能性があります。スクレイピングを行う際には慎重に行い、利用規約を遵守し合法的な目的で使用することが重要です。

質問2:スクレイピングすると、サイトのサーバーに負荷をかけるの?

答え:スクレイピングはウェブサイトのサーバーに負荷をかける可能性があります。大量のリクエストを短時間で送信すると、サーバーが過負荷になり、パフォーマンスが低下したり一時的にアクセスできなくなることがあります。適切なマナーを守り、リクエストの間隔を調整し、並列処理を制限するなどの対策が重要です。また、ウェブサイトの所有者がスクレイピングを検出し、アクセスを制限する可能性もあるので注意が必要です。

まとめ

本記事ではWebスクレイピングを相手サーバーにバレないようにするための対策を5つ紹介しました。紹介した対策を活用することで、完璧とはいえませんが、ある程度バレないようにするのに役立ちます。

プロキシサービスも提供しているOctoparseでは、他のスクレイピングツールと異なり、すべてのユーザーがカスタマイズ可能なプロキシを追加できます。リーズナブルな価格で、自身の目的・用途にあわせて、独自のプロキシトラフィックの利用が可能になります。

プロキシの設定方法については以下の記事もあわせてご覧ください。

プロキシサーバ

またWebスクレイピングの技術を使って、日々の業務を自動化すること自体は違反ではありませんが、当然ながら悪用することや相手に不利益になることは出来ませんので、使い方には注意しましょう。

人気記事

トピックを検索する

今すぐOctoparseを始めて、業務効率化を実現しましょう。

ダウンロード

関連記事

  • avatarTakahashi
    「Webスクレイピングツールを自分でゼロから構築したい」こうしたニーズが近年急増しています。Webスクレイピングツールは、インターネットの情報を収集・保存・分析に役立ちます。そのWebスクレイピングツールで、重要な役目を持つのが「Webクローラー」です。本記事ではプログラミング初心者の方でも、かんたんに作れるWebクローラーの構築方法について解説します。実際に構築をしなくても、Webクローラーの仕組みを理解することは、ITリテラシーを高める上でとても大切です。ぜひ参考にしてみてください。
    2024.02.21 · 7 min read
  • avatarTakahashi
    Webスクレイピングを行う上で、重要な役割を担うのが「XPath」です。しかし、XPathについて正しく理解できていない方も多いでしょう。そこで今回はXPathについて、基本から書き方までわかりやすく解説します。それ以外に、XPathでスクレイピングする手順とXPathを取得する方法についてもご説明します。
    2023.12.07 · 7 min read
  • avatarMurata
    Webスクレイピングを実行していると、403エラーが表示されて、データの抽出ができないことがあります。403エラーには、さまざまな原因があります。この記事では、Webスクレイピングの初心者の方に向けて、403エラーの原因や403エラーの解決策を解説します。
    2023.02.13 · 7 min read
  • avatarTakahashi
    ビッグデータは、市場動向、顧客の好み、競合他社の分析に関連した情報を提供します。今やWebスクレイピングは、単にデータを収集するだけでなく、企業のマーケティング活動において必要不可欠と言ってもよいでしょう。ただし、Webスクレイピングプロセスをスケールアップすると、ブロッキングメカニズムなどの多くの課題が発生し、データを取得できなくなる可能性があります。ここではWebスクレイピングが抱える8つの課題と解決方法を紹介します。
    2023.02.06 · 7 min read