
Emma Foster
Machine Learning Engineer

Cloudflareの5秒チャレンジは、自動化されたPythonワークフローを初期リクエストをブロックすることで中断することがあります。このガイドでは、PythonとCapSolverを使用してCloudflareチャレンジをプログラム的に処理する方法を示します。適切に構成されたプロキシ、TLSファイントプリント、およびCapSolverのAntiCloudflareTaskを組み合わせることで、保護されたページに信頼性を持ってアクセスするための必要なヘッダーとクッキーを取得できます。
Cloudflareの保護メカニズムは、悪意のあるトラフィックや自動アクセスを軽減するために広く使用されています。一般的なメカニズムの一つは、ウェブサイトへのアクセスを許可する前にブラウザの動作を検証するCloudflareの5秒チャレンジです。Pythonでデータ収集、モニタリング、または自動化ワークフローを構築する開発者にとって、このチャレンジは繰り返しの403応答やパイプラインの中断を引き起こす可能性があります。
この記事では、Cloudflareチャレンジを処理するための実用的なPythonベースのアプローチについて説明します。CapSolverのAPIとTLS対応のHTTPクライアントを使用して、チャレンジを検出、解決をリクエスト、検証されたフォローアップリクエストを成功させることを学びます。
CapSolverのボーナスコードを取得する
自動化予算を即座に増やす!
CapSolverアカウントにチャージする際にボーナスコード CAPN を使用すると、毎回 5%のボーナス を獲得できます — 制限はありません。
今すぐCapSolverダッシュボードでボーナスコードを取得してください
。
以下のコマンドを実行して必要なパッケージをインストールしてください:
pip install capsolver
pip install os
pip install requests
このタスクを達成するためのPythonのサンプルスクリプトは以下の通りです:
# -*- coding: utf-8 -*-
import requests
import time
import tls_client
# TODO: あなたのAPIキー
API_KEY = ""
proxy = ""
# TODO: あなたのターゲットサイトのURL:
page_url = ""
def call_capsolver():
data = {
"clientKey": API_KEY,
"task": {
"type": 'AntiCloudflareTask',
"websiteURL": page_url,
"proxy": proxy,
}
}
uri = 'https://api.capsolver.com/createTask'
res = requests.post(uri, json=data)
resp = res.json()
task_id = resp.get('taskId')
if not task_id:
print("no get taskId:", res.text)
return
print('created taskId:', task_id)
while True:
time.sleep(1)
data = {
"clientKey": API_KEY,
"taskId": task_id
}
response = requests.post('https://api.capsolver.com/getTaskResult', json=data)
resp = response.json()
status = resp.get('status', '')
if status == "ready":
print("successfully => ", response.text)
return resp.get('solution')
if status == "failed" or resp.get("errorId"):
print("failed! => ", response.text)
return
def request_site(solution):
session = tls_client.Session(
client_identifier="chrome_120",
random_tls_extension_order=True
)
return session.get(
page_url,
headers=solution.get('headers'),
cookies=solution.get('cookies'),
proxy=proxy,
)
def main():
solution = {
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"upgrade-insecure-requests": "1",
"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",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
}
}
# 最初のリクエスト(プロキシをチェック):
res = request_site(solution)
print('1. レスポンスステータスコード:', res.status_code)
if res.status_code != 403:
print("あなたのプロキシは問題なく、Cloudflareチャレンジに遭遇していません")
return
elif 'window._cf_chl_opt' not in res.text:
print('==== プロキシがブロックされています ==== ')
return
# CapSolverを呼び出す:
solution = call_capsolver()
if not solution:
return
# 2回目のリクエスト(解決を確認):
res = request_site(solution)
print('2. レスポンスステータスコード:', res.status_code)
if __name__ == '__main__':
main()

一方、スクリプトのボット特性をテストしたい場合は、BrowserScanのBot Detectionツールがスクリプトのボット的な挙動を識別し、改善するのに役立ちます。
PythonでCloudflareチャレンジを処理するには、標準的なHTTPリクエストだけでは不十分です。TLS対応クライアントと安定したプロキシとCapSolverを統合することで、開発者はCloudflareの検証ステップをプログラム的に完了し、通常のリクエストフローを継続できます。
このアプローチは、モニタリングツール、データ集約サービス、自動テストパイプラインなど、Cloudflare保護リソースに一貫したアクセスを必要とするアプリケーションにとって特に役立ちます。適切な構成とエラー処理を追加することで、プロセスをエンドツーエンドで自動化し、安定性とスケーラビリティを維持できます。
Cloudflareの5秒チャレンジは、アクセスを許可する前に訪問者が本物のブラウザであるかどうかを検証するブラウザの検証ステップです。これは通常、一時的なインターディスティシャルページとして表示され、自動スクリプトにはHTTP 403の応答を返すことがあります。
CloudflareはTLSファイントプリント、ヘッダーの順序、ブラウザに似た挙動を評価します。tls_clientなどのライブラリは、実際のブラウザのTLS特性をエミュレートするのに役立ち、これはCapSolverから返される解決策を検証するために重要です。
プロキシは強く推奨されます。クリーンで一貫したプロキシは、即時ブロックの可能性を減らし、チャレンジ解決のリクエストと検証リクエストが同じIPアドレスから発生することを確保します。
CapSolverは、検証されたブラウザセッションを表すヘッダーとクッキーを含む解決策を提供します。これらの情報は、ターゲットページに成功裏にアクセスするために、後続のリクエストで再利用する必要があります。
はい。同じワークフローは、タスクキュー、リトライロジック、プロキシローテーションを追加することで、より大きなPythonシステムに統合できます。これにより、スケーラブルな自動化とデータアクセスのシナリオに適しています。
Cloudflareエラー1005:アクセスが拒否されました。ウェブスクリーピング中にこれを修正する方法を学びましょう。リジデンシャルプロキシ、ブラウザファイントラッキング、CAPTCHA用のCapSolverなどの解決策を発見してください。データ抽出を最適化してください。

Cloudflare TurnstileをAIワークフローで効果的に処理する方法を学び、Playwrightのステルス手法とCapSolverを活用して信頼性の高いキャプチャ解決を実現します。実用的な統合戦略と、途切れることのないオートメーションのためのベストプラクティスを学びましょう。
