
Adélia Cruz
Neural Network Developer
ユーザーエージェント(UA)とは、ブラウザまたはクライアントがサーバーに自身を識別するために送信する文字列です。通常、ブラウザ名、バージョン、オペレーティングシステム、デバイスの種類などの詳細が含まれています。例:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Cloudflareはこの文字列を分析してボットを検出します。あなたのUAが既知の自動化ツール(例:Python-RequestsまたはHeadlessChrome)と一致する場合、Cloudflareのボット対策システムがトリガーされます。
カスタマイズする前に、サイトの実際のユーザーが使用しているユーザーエージェントを確認します。WhatIsMyBrowserのようなツールやブラウザの開発者ツール(ネットワークタブ>ヘッダー)が役立ちます。例えば、サイトがChromeユーザーに人気がある場合、彼らのUAを模倣します。
一般的なプログラミング言語でUAを変更する方法を以下に示します。
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
response = requests.get('https://example.com', headers=headers)
const axios = require('axios');
axios.get('https://example.com', {
headers: {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
});
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36');
await page.goto('https://example.com');
})();
同じUAを繰り返し使用すると、依然としてフラグが立てられる可能性があります。様々なユーザーを模倣するために、事前に定義されたリストからUAをローテーションします。Fake UserAgentのようなツールがこれを簡素化します:
from fake_useragent import UserAgent
import requests
ua = UserAgent()
headers = {'User-Agent': ua.random}
response = requests.get('https://example.com', headers=headers)
古いユーザーエージェントの使用
Cloudflareは、疑わしいUAのリストを維持しています。古いブラウザバージョンの文字列(例:2017年のChrome/58.0.3029.110)は避けてください。
ヘッドレスブラウザのフィンガープリンティングの無視
有効なUAを使用しても、ヘッドレスブラウザは自動化シグナル(例:navigator.pluginsのようなプラグインの欠如)を漏洩します。puppeteer-extra-plugin-stealthのようなステルスプラグインを使用してください。
IPローテーションの忘れ
IPベースのブロックを回避するために、UAローテーションと住宅用プロキシを組み合わせます。セッションの一貫性を維持するには、静的またはスティッキープロキシが最適です。
TLSフィンガープリンティングとの組み合わせ
CloudflareはTLSハンドシェークパターンをチェックします。curl_cffi(Python)やtls-client(JavaScript)のようなライブラリは、実際のブラウザのTLSフィンガープリントを模倣し、検出のリスクを軽減します。
ユーザーエージェントを変更することは、Cloudflareをバイパスするためのシンプルながらも強力な方法ですが、万能ではありません。堅牢な結果を得るには、IPローテーション、TLSフィンガープリンティング、および検知防止ツールと組み合わせる必要があります。
スクレイピングを楽しんで!🤖
TL;DR - マーケットプレイス価格モニタリングの自動化には、プロモーション価格を比較する前に安定した製品-地域キーが必要です。 - 価格変更は、通貨、単位、プロモーション条件、在庫状態、タイムスタンプが同時にキャプチャされた場合にのみ有効です。 - CAPTCHAの復元は、認可されたジョブを一時停止し、そのコンテキストを保持し、一度実行した後、同じ製品の観察に戻る必要があります。 - トラフィック制御は、急増するチャレンジ、429エラー、タイムアウト、または重複コンテンツのレートの間、並行処理を減らす必要があります。 導入

TL;DR - AIエージェントのCAPTCHAタイムアウトエラーには、ページの準備状態、ツールの輸送、CAPTCHA処理、アプリケーションの確認用に別々の予算が必要です。- ページURL、ブラウザコンテキスト、チャレンジ、または承認されたアクションが変更された場合、遅延結果は破棄する必要があります。- 一時的な輸送障害に対しては、制限付きリトライが妥当な場合がありますが、繰り返しのチェックポイントではレビュー経路を開く必要があります。- 最終的なパス条件は、スローされた例外の不在ではなく、元のアプリケーション状態です。導入
