断固として技術に精通したユーザーが Web サイトをスクレイピングするのを防ぐことは「不可能」であることに焦点を当てることは、あまりにも重要なことだと思います。@Drew Noakes は、この Web サイトには、総合すると何らかの「価値」を持つ情報が含まれていると述べています。Web サイトに、制約のない匿名ユーザーが簡単にアクセスできる集計データがある場合、はい、スクレイピングを防止することは「不可能」に近い可能性があります。
解決すべき問題は、ユーザーが集計データをスクレイピングするのを防ぐ方法ではなく、パブリック アクセスから集計データを削除するためにどのようなアプローチを使用できるかということです。これにより、「不可能」を行う必要なくスクレーパーのターゲットを排除し、廃棄を防ぎます。
集計データは、企業独自の情報と同様に扱う必要があります。一般に、会社の専有情報は、匿名ユーザーが集計または生の形式で公開することはできません。貴重なデータの取得を防ぐための解決策は、データへのアクセスを制限および制限することであり、ユーザーに提示されたときにデータが破棄されるのを防ぐことではないと私は主張します.
1] ユーザー アカウント/アクセス – 特定の期間内にすべてのデータにアクセスすることはできません (データ/ドメイン固有)。ユーザーは自分に関連するデータにアクセスできる必要がありますが、質問から明らかなように、すべての集計データを照会する正当な目的を持つユーザーはいません。サイトの詳細を知らずに、正当なユーザーが一定期間内にデータの小さなサブセットしか必要としないのではないかと思います。通常のユーザーのニーズを大幅に超えるリクエストは、ブロックするか、代わりに調整する必要があります。これにより、スクレイピングに非常に時間がかかり、破棄されたデータが古くなる可能性があります。
2] 運用チームは、大規模な分散システムや複雑なシステムが正常であることを確認するために、メトリックを監視することがよくあります。残念なことに、散発的または断続的な問題の原因を特定することは非常に難しくなり、通常の運用変動とは対照的に、問題があることを特定することさえ困難になることがよくあります。運用チームは多くの場合、多くのメトリックから取得した統計分析された履歴データを処理し、それらを現在の値と比較して、システムの稼働時間、負荷、CPU 使用率など、システムの正常性の重大な偏差を特定するのに役立てます。
同様に、標準よりも大幅に多い量のデータを求めるユーザーからの要求は、データを廃棄している可能性が高い個人を特定するのに役立ちます。このようなアプローチは自動化することもできますし、さらに拡張して、廃棄を示すパターンを複数のアカウントから探すこともできます。ユーザー 1 が 10% をスクレイピングし、ユーザー 2 が次の 10% をスクレイピングし、ユーザー 3 が次の 10% をスクレイピングする、など。複数のアカウント
3] エンドユーザーが生の集計データに直接アクセスできるようにしないでください。ここでは詳細が重要ですが、簡単に言えば、データはバックエンド サーバーに存在し、ドメイン固有の API を使用して取得する必要があります。繰り返しますが、生データを提供するだけでなく、データのサブセットに対するユーザー要求に応答していると想定しています。たとえば、あるデータが特定の地域の詳細な人口統計である場合、正当なエンド ユーザーはそのデータのサブセットのみに関心があります。たとえば、エンド ユーザーは、両親と一緒に集合住宅に住んでいる 10 代の子供がいる世帯の住所や、特定の市や郡のデータを知りたい場合があります。このような要求では、集約データを処理して、エンド ユーザーが関心を持つ結果のデータ セットを生成する必要があります。入力クエリの多数の潜在的な順列から取得されたすべての結果データセットをスクレイピングし、集計データ全体を再構築することは非常に困難です。スクレイパーは、リクエスト数/時間、結果のデータセットの合計データサイズ、およびその他の潜在的なマーカーを考慮して、Web サイトのセキュリティによっても制約されます。ドメイン固有の知識を組み込んだ十分に開発された API は、API がその目的を果たすのに十分なほど包括的でありながら、大量の生データ ダンプを返すほど一般的になりすぎないようにするために重要です。結果のデータセットの合計データサイズ、およびその他の潜在的なマーカー。ドメイン固有の知識を組み込んだ十分に開発された API は、API がその目的を果たすのに十分なほど包括的でありながら、大量の生データ ダンプを返すほど一般的になりすぎないようにするために重要です。結果のデータセットの合計データサイズ、およびその他の潜在的なマーカー。ドメイン固有の知識を組み込んだ十分に開発された API は、API がその目的を果たすのに十分なほど包括的でありながら、大量の生データ ダンプを返すほど一般的になりすぎないようにするために重要です。
サイトへのユーザー アカウントの組み込み、ユーザーの使用ベースラインの確立、典型的な使用パターンから大幅に逸脱したユーザーの特定と制限 (またはその他の緩和アプローチ)、および処理済み/消化済みの結果を要求するためのインターフェイスの作成セット (生の集計データに対して) は、データを盗もうとする悪意のある個人にとって非常に複雑になります。Web サイトのデータのスクラップを防ぐことは不可能かもしれませんが、「不可能」とは、スクレイパーが集計データに容易にアクセスできることを前提としています。見えないものを削ることはできません。したがって、集計データが生の未処理のテキスト (図書館の電子書籍など) でない限り、エンド ユーザーは生の集計データにアクセスできません。図書館の電子書籍の例でも、