HUMAN (PerimeterX) チャレンジをウェブスクレイピングで扱う方法
Specialist in Anti-Bot Strategies
TL;DR:
- HUMAN Bot Defenderは、ブロックレスポンスまたはインタラクティブなヒューマンチャレンジを返すことができます。 スクレイパーを変更する前に、表現を診断してください。
- 403は証拠であり、根本原因ではありません。 最終URL、コンテンツタイプ、タイトル、チャレンジマーカー、クッキー、および必要な公開データマーカーを記録してください。
- ネットワーク、ブラウザー、およびセッション状態を一貫して保ちます。 レジデンシャルルートはネットワークの起源を変更しますが、JavaScript、フィンガープリンティング、クッキー、およびナビゲーションは別の入力として保持されます。
- レンダリングを必要とする公開ページには制限されたブラウザーセッションを使用してください。 サイトの公開起源を暖め、承認されたターゲットにナビゲートし、そのアイデンティティと必要なフィールドが一致する場合のみページを受け入れます。
- アクセス境界で停止します。 このワークフローは、ログインの自動化、チャレンジ解決、プライベートデータアクセス、またはサイトによって禁止されたアクティビティを認可しません。
HUMAN Bot Defenderは、以前はPerimeterX名に関連付けられていたもので、自動クライアントが受け取るものを変更できます。直接のリクエストは、予想される公開ページの代わりに403レスポンス、進化したブロッキングレスポンス、またはヒューマンチャレンジを返す場合があります。
エンジニアリング上の問題は表現の制御です:何が到着したかを特定し、承認されたセッションを維持し、通常の公開ページが明示的なチェックを通過した後にのみデータを抽出します。
HUMAN Bot Defenderが返すことができるもの
HUMANは、保護されたウェブおよびアプリケーショントラフィックのためのいくつかのレスポンスパスを文書化しています。そのAdvanced Blocking Response documentationでは、アプリケーションが構造化されたブロッキングレスポンスを受け取ることができることを示し、Human Challenge documentationは、プレス&ホールドのインタラクションを文書化しています。
これらの製品の挙動は、なぜ1つのリクエストが分類されたのかを明らかにするものではありません。サイトポリシー、地理、ブラウザの状態、アカウントの状態、トラフィック履歴、アプリケーションロジックがすべて表現に影響を与える可能性があります。
PerimeterXウェブスクレイピングの一般的な症状
| 症状 | それが証明すること | それが証明しないこと |
|---|---|---|
| JSONまたはHTMLでのHTTP 403 | 通常のコンテンツが返されなかった | どの信号またはルールがその決定を引き起こしたか |
| プレス&ホールドページ | インタラクティブなチャレンジが提示された | 自動化がそれを解決することが許可されていること |
| 空のアプリシェルでの正常なステータス | トランスポートは完了した | 必要な公開データが読み込まれたこと |
| ブラウザが動作するが、直接クライアントが失敗する | ブラウザまたはセッションの状態が重要 | どの状態フィールドが重要か |
| 最初のページが読み込まれ、後続のページが変更される | シーケンスまたは継続性がコンテンツに影響を与える | クッキー、レート、またはルートが原因かどうか |
| 異なる市場のコンテンツが現れる | ロケーションが表現に影響を与える | 別の地理が認可されていること |
各テストのコンパクトな診断記録を作成します:要求されたURL、最終URL、ステータス、コンテンツタイプ、タイトル、canonical URL、必要なマーカー、および短いボディハッシュ。この記録は、完全な制御されていないページキャプチャよりも比較しやすくなります。
返されるページを形成する信号
ネットワークの起源と地理
サイトは、明らかなソースネットワークと場所を観察できます。レジデンシャルプロキシは、リクエストをデータセットによって必要な市場に合わせることができますが、JavaScriptを実行したり、ブラウザストレージを保持したりすることはできません。
HTTPとトランスポートの挙動
HTTPメソッド、ヘッダー、リダイレクト、およびコンテンツのネゴシエーションは1つのレイヤーを形成します。HTTPセマンティクス仕様はこれらのフィールドを定義します。TLSネゴシエーションは、TLS 1.3仕様によって説明される別のレイヤーです。
User-Agent文字列のみを変更することでは、ブラウザの周囲のトランスポート、ヘッダー、JavaScriptランタイム、およびセッション履歴を再現することはできません。
JavaScriptとブラウザの状態
ブラウザはスクリプトを実行し、依存リソースを読み込み、ランタイムプロパティを公開し、DOMを更新します。承認されたページがこれらの挙動を必要とする場合にのみブラウザを使用してください。任意の遅延ではなく、必要なビジネスセレクタを待ちます。
クッキーとナビゲーションの継続性
クッキーは、公開ナビゲーションチェーン全体で状態を保持できます。ワークフローが継続性を必要とする場合、ホームページ、検索ページ、詳細ページを1つの制限されたブラウザコンテキスト内に保持します。
挙動とサイトポリシー
リクエスト量、ナビゲーション順序、フォームの使用、およびカスタムビジネスルールがアクセスに影響を与える可能性があります。低い同時実行性と明確な停止条件は、ターゲットとデータセットの品質の両方を保護します。
最も複雑な取得ルートを選択する
| ルート | 使用時 | 受け入れチェック |
|---|---|---|
| 直接HTTP | 必要な公開フィールドがサーバーHTMLに存在する | 必要なマーカーがレスポンスに存在する |
| 自己管理ブラウザ | ページが許可されたJavaScriptインタラクションを必要とする | ページのアイデンティティと必要なDOMフィールドが合格する |
| スクラペレス スクレイピング ブラウザ | チームは管理されたクラウドレンダリングとセッションコントロールが必要です | 承認された最終ホスト、正規ページ、およびフィールドの受け渡し |
| サポートされているパブリックAPI | サイトは適切な契約を公開しています | レスポンススキーマと認証が一致 |
直接HTTPから始めて、レンダリングまたは継続が必要である証拠が示された場合はブラウザに移行します。
スクラペレス スクレイピング ブラウザは、JavaScriptレンダリング、地理ルーティング、フィンガープリント構成、永続的なセッションのためのクラウドブラウザです。クイックスタートドキュメントには、制限されたセッションの寿命と位置パラメーターが記載されています。
制限付きパブリックページセッションの構築
安全なセッションは狭いターゲットとコンテンツ契約を持っています。
- 承認されたHTTPSターゲットと必要なセレクタをコードの外に保管します。
- データセットの国と言語を固定します。
- 通常のパブリックフローが必要な場合、最初にターゲットオリジンを開きます。
- 同じブラウザコンテキストで承認されたページに移動します。
- 最終ホスト、タイトルまたは正規URL、必要なビジネスマーカーを確認します。
- 承認されたフィールドのみを抽出し、セッションを終了します。
ログインフォームを提出したり、アカウントクッキーを再利用したり、人間の挑戦に対話したり、承認された範囲外のURLを発見したりしないでください。
無料プランでAPIキーを取得してください: app.scrapeless.com
パースの前にコンテンツを検証
データセットに入る前に、すべての取得結果を分類します。
| ステータス | 意味 | 次のアクション |
|---|---|---|
accepted |
ページのIDと必要なマーカーが一致 | 承認されたフィールドをパース |
content_absent |
正しいページ、有効なフィールドが欠落 | レンダリング、セレクター、またはソースを変更の確認 |
unexpected_page |
挑戦、同意、リダイレクト、または無関係なコンテンツ | 停止して検査 |
policy_review |
ログイン、プライベートデータ、またはアクセス境界が表示 | 認可またはサポートされたルートを取得 |
network_error |
ページが分類されるまで読み込まれませんでした | データセット外の輸送を診断 |
ステータスコードだけではこれらの状態を区別できません。観察時間、ロケール、ページIDと共に分類情報を保管してください。
セッションチェーンを一貫して保つ
プロキシの国、言語、ビューポート、フィンガープリント構成、クッキー、ローカルストレージ、およびナビゲーション順序は、一つのジョブ内で固定のままにしてください。無関係なユーザーやデータセットの間でセッションを共有しないでください。
ページがオリジン訪問後にのみ機能する場合、その順序をコンテンツ契約の一部として保持します。挑戦が現れた場合、その結果を予期しないものとして分類し、スクレイパーへの挑戦との対話を追加しないでください。
HUMAN ボット保護応答のトラブルシューティング
| 観察 | 検査 | 制御された変更 | 合格条件 |
|---|---|---|---|
| 最終ホストが変更される | リダイレクトチェーンと範囲 | レビューが行われるまでなし | 最終ホストが承認のまま |
| 正しいタイトル、データが欠落 | レンダリングとセレクタ | 脆弱なセレクターの一つを置き換え | 必要なパブリックマーカーが表示 |
| 保持して押すオプションが表示 | ページのIDとポリシー | 自動化された対話を停止 | 承認されたルートを通って通常のページが到着 |
| 異なるロケールが表示 | 国と言語 | 必要な市場を固定 | データセットのロケールが一致 |
| ナビゲーション後にページが変更される | クッキーと順序 | 一つの制限されたコンテキストを維持 | 必要なマーカーが安定したまま |
| 直接の応答がJSONブロックデータである | コンテンツタイプと本文 | 認可されている場合のみブラウザを使用 | 通常のパブリック表現が合格 |
テストごとに一つの変数を変更します。地理、セッション、セレクター、およびターゲットに同時に変更を加えると、結果を特定することが不可能になります。
契約が成立した後にのみスケールする
ボリュームを増やす前に、必要な各パブリックテンプレートをテストしてください。ホストごとに3つ以下のワーカーから始め、承認されたものと予期しない表現を記録し、公開されたルール、認可、および安定性がそれをサポートする時にのみ拡張します。
スクラペレス スクレイピング ブラウザのベストプラクティスガイドは、この診断ワークフローを超えたブラウザセッション設計について説明しています。
結論: 表現を診断し、その後抽出する
PerimeterXのウェブスクレイピングの失敗はコンテンツ分類の問題と見なすべきです。返されたページを特定し、承認されたネットワークとブラウザセッションを保持し、ページのIDと必要なパブリックフィールドが一致したときのみデータを受け入れます。
クラウドブラウザはインフラ作業を軽減しますが、権限を付与したり、チャレンジインタラクションを正当化したりすることはありません。ターゲットを限定し、アクセス制御の境界で停止してください。
検証済みブラウザワークフローの構築準備はできますか?
Scrapelessコミュニティに参加して公開ページの検証について議論しましょう: Discord · Telegram。
Scrapelessの料金を確認し、app.scrapeless.comにサインアップして無料のScraping Browserランタイムを入手してください。
FAQ
Q: HUMANが保護するウェブサイトのスクレイピングは合法ですか?
公共または許可されたデータに対するスクレイピングは合法である可能性がありますが、法律、契約、および状況は異なるため、サイトの利用規約を確認し、プロジェクトのために法的助言を得てください。
Q: PerimeterXの403はBot Defenderがリクエストをブロックしたことを確認しますか?
403はアクセスが拒否されたことを確認しますが、特定の製品またはシグナルに帰属させる前にレスポンスボディおよびページマーカーを特定してください。
Q: HUMANが保護するページにプロキシは必要ですか?
居住用プロキシは承認された地理的ルーティングを提供できますが、JavaScript、クッキー、フィンガープリンターの一貫性、または権限を置き換えるものではありません。
Q: スクレイパーはPress and Holdページに対して何をすべきですか?
自動化された公共データワークフローはPress and Holdページを予期しない表現として分類し、チャレンジとインタラクションせずに停止すべきです。
Q: DOMの変更をどのように処理すべきですか?
承認されたページを再確認し、もろいセレクターを安定したセマンティックマーカーに置き換え、データを受け入れる前に必須フィールドを検証してください。
Q: 適切な同時実行数はいくつですか?
ホストごとに3人以下の作業者から始め、サイトのルール、プロジェクトの承認、および観察された安定性がそれを支持する場合のみ増加させてください。
Q: このワークフローはAIエージェントなしで実行できますか?
はい、セッションのセットアップ、ナビゲーション、コンテンツの検証、および抽出は決定論的ブラウザ操作です。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



