Webスクレイピングの仕組み
スクレイパーはサイトにリクエストを発行し、そのレスポンスから構造化データを抽出します。単純なスクレイパーはHTTPクライアントを使って生のHTMLを取得し、それを直接解析します。これは高速で安価ですが、JavaScriptでコンテンツを構築するページでは失敗します。より高性能なスクレイパーはヘッドレスブラウザを駆動して動的なページをレンダリングし、結果のDOMを読み取れますが、ページごとにより多くのリソースを要します。
大量のデータを集めるため、スクレイパーはリクエストを並列化し、プロキシプールを使って多数のIPアドレスに分散させ、単一の発信元がIPごとのレート制限に引っかからないようにします。user agentやその他のフィンガープリント値をローテーションして多様な訪問者の集団に見せかけ、自動化を明白に露呈するパターンを避けるためにリクエストのペースを調整します。
サイトは、レート制限、ネットワークインテリジェンス、フィンガープリンティング、行動分析の組み合わせで防御します。争点は、分散されたスクレイピング運用、すなわち異なる偽装をまとった多数の協調したリクエストを、独立した人間の訪問者からなる本物の集団から区別することにあります。一貫性チェックとデバイス識別が、偽装を見抜くうえで中心的な役割を果たします。
すべてのスクレイピングが敵対的なわけではありません。検索エンジン、価格比較サービス、研究用クローラーは公然とスクレイピングを行い自身を名乗り、多くのサイトは認可された代替手段としてAPIを提供します。問題となるのは、利用規約を無視し、個人または独自のデータを収集し、あるいは実在ユーザーへのサービスを劣化させる、無許可で大量の抽出です。
不正防止においてWebスクレイピングが重要な理由
不正なスクレイピングは、独自の価格、カタログ、コンテンツのデータを持ち去ることで競争優位を蝕み、プロフィールから集約された個人情報を露出させることがあります。大規模になれば、現実のインフラコストを課し、本物の顧客のパフォーマンスを劣化させることもあります。スクレイパーはますますヘッドレスブラウザ、ローテーションするプロキシ、フィンガープリントの偽装を使うため、それらから身を守るには、他の高度なボットに対して使われるのと同じ層状の検知が必要です。
TRACIOでの扱い方
TRACIOは、スクレイパーがIPアドレスとフィンガープリントをローテーションする場合でも、安定したデバイス識別子と自動化判定を生成することで、スクレイピングの識別に役立ちます。異なる訪問者から来ているように見える多数のリクエストが、実際にはデバイス特性を共有したり自動化のシグナルを示したりするとき、プラットフォームはそれらを関連付けてフラグを立てられます。Bot DetectionとSmart Signalsを通じてリアルタイムで提供されるこれにより、チームは正当なクローラーや人間の訪問者に影響を与えずに、収集を絞ったりブロックしたりできます。