CAPSOLVER
ブログ
Cloudflare Turnstile の解決方法: CrewAI エージェントでの

Cloudflare Turnstile の解決方法: CrewAI エージェントでの

Logo of CapSolver

Sora Fujimoto

AI Solutions Architect

30-Jul-2026

Cloudflare Turnstileは、現代のWebアプリケーションで伝統的なCAPTCHAを急速に置き換えています。CrewAIのマルチエージェントワークフローがWebリサーチ、データ収集、自動ワークフロー中にTurnstile保護ページに遭遇した場合、すべてのクルーが停止します。CapSolverのcapsolver-core SDKは、2〜5秒でTurnstileチャレンジを解決し、CrewAIのツールシステムとシームレスに統合されて、マルチエージェントパイプラインを中断することなく動作させます。

TL;DR

  • Cloudflare Turnstileは、現代のWebアプリケーションの25%以上に導入されており、最も急速に成長する認証システムです
  • CapSolverはcloudflareタスクタイプを使用して、2〜5秒でTurnstileを解決し、reCAPTCHAより速いです
  • CrewAIとの統合には、CapSolverの非同期エクセキュータをラップする@toolデコレータを使用します
  • website_urlwebsite_key0xで始まるTurnstileサイトキー)のみが必要です
  • トークンモード(ブラウザ不要)とブラウザモード(ライブページで自動検出と入力)の両方が動作します

CrewAIエージェントがCloudflare Turnstileに遭遇する理由

Cloudflare Turnstileは、Webの増加する割合のデフォルトの認証システムとなっています。reCAPTCHAとは異なり、Turnstileは「非インタラクティブチャレンジ」として動作し、リスクスコアが上昇したときにのみ可視ウィジェットを表示します。これは、従来のチェックボックスCAPTCHAよりもエージェントが検出および処理するのが難しいためです。

CrewAIエージェントは、SaaSプラットフォーム、APIドキュメンテーションサイト、現代のECサイト(特にShopify)、フィンテックポータル、コンテンツ管理システムでTurnstileに遭遇します。CloudflareのTurnstileドキュメントによると、このシステムは月に何十億ものチャレンジを処理し、数百万のサイトで使用されており、年間40%以上成長しています。

CrewAIクルーがWebリサーチやデータ収集を行う場合、Turnstileは予告なしに現れます。昨日は正常に読み込まれたページが、今日Cloudflareのボット管理を有効にした場合にTurnstileをデプロイする可能性があります。CapSolverのcloudflareタスクタイプはこれを透過的に処理します。

開始前に必要なもの

bash Copy
# CapSolverコアエンジン
pip install git+https://github.com/capsolver-ai/capsolver-core.git
# CapSolverエージェントツール
pip install git+https://github.com/capsolver-ai/capsolver-agent.git
# CrewAI
pip install crewai crewai-tools
bash Copy
export CAPSOLVER_API_KEY="your-capsolver-api-key"
export OPENAI_API_KEY="your-openai-api-key"

ステップ1 — CrewAI用のTurnstile解決ツールを作成する

python Copy
import asyncio
from crewai.tools import tool
from capsolver_agent.schema import create_executor

executor = create_executor(api_key="YOUR_CAPSOLVER_API_KEY")

@tool("Cloudflare Turnstileを解決")
def solve_turnstile(website_url: str, website_key: str) -> str:
    """Cloudflare Turnstileチャレンジを解決し、検証トークンを返します。
    
    ウェブサイトがCloudflare Turnstileで保護されている場合にこのツールを使用します。
    website_keyは`0x`で始まり、ページのcf-turnstile div要素のdata-sitekey属性から見つかります。
    
    引数:
        website_url: Turnstile保護ページの完全なURL
        website_key: Turnstileサイトキー(0xで始まる)
    
    戻り値:
        要求に送信するcf-turnstile-responseトークン
    """
    result = asyncio.run(executor.execute("solve_captcha", {
        "captcha_type": "cloudflare",
        "website_url": website_url,
        "website_key": website_key
    }))
    
    if result["success"]:
        return f"Turnstileは約3秒で解決しました。トークン: {result['solution']['token']}"
    return f"解決失敗: {result['error']}"

ステップ2 — Turnstile対応のCrewAIエージェントを構築する

python Copy
from crewai import Agent, Task, Crew, Process

# Turnstile解決機能を持つエージェント
researcher = Agent(
    role="Web Research Specialist",
    goal="Cloudflare保護サイトにアクセスし、データを収集する",
    backstory="""Cloudflare Turnstileで保護されたウェブサイトをリサーチします。 
    cf-turnstile要素やCloudflareチャレンジページでTurnstileチャレンジに遭遇した場合、
    ページURLとサイトキー(0xで始まる)を用いてsolve_turnstileツールを使用します。
    返されたトークンをcf-turnstile-responseとして送信します。""",
    tools=[solve_turnstile],
    verbose=True
)

# Turnstile解決を必要とするタスク
research_task = Task(
    description="""{url}のCloudflare保護ページにアクセスしてください。
    Turnstileサイトキーは{site_key}です。
    Turnstileチャレンジを解決し、トークンを報告してください。""",
    expected_output="保護されたリソースにアクセスするためのTurnstileトークン",
    agent=researcher
)

crew = Crew(agents=[researcher], tasks=[research_task], process=Process.sequential)
result = crew.kickoff(inputs={"url": "https://example.com", "site_key": "0x4AAAAAAA..."})

ステップ3 — Turnstileパラメータを特定する

TurnstileサイトキーはページHTMLに記載されています:

html Copy
<!-- Turnstileウィジェット -->
<div class="cf-turnstile" data-sitekey="0x4AAAAAAABkMYinukE8nzYS"></div>

<!-- またはJavaScript -->
<script>
  turnstile.render('#container', { sitekey: '0x4AAAAAAABkMYinukE8nzYS' });
</script>

CapSolverブラウザ拡張機能は、どのページでもTurnstileパラメータを自動検出します。Cloudflare Turnstile解決ガイドは、詳細な実装パターンを提供します。

ステップ4 — ブラウザモードでTurnstileを処理する

CrewAIエージェントがPlaywrightでブラウザを操作する場合、solve_on_page()を使用して自動検出を行います:

python Copy
from capsolver_core import create_capsolver
from playwright.async_api import async_playwright

async def solve_turnstile_on_page(url: str):
    cap = create_capsolver(api_key="YOUR_CAPSOLVER_API_KEY")
    
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto(url)
        
        # 自動検出とTurnstile解決
        results = await cap.solve_on_page(page)
        for r in results:
            if r.solution:
                print(f"Turnstileは解決され、入力されました: {r.filled}")
        
        await browser.close()
    await cap.aclose()
機能 Turnstile vs reCAPTCHA
解決時間 2〜5秒(速い)
1回の解決コスト 1,000回あたり1〜2
ブラウザが必要 いいえ(トークンモードは動作)
可視ウィジェット ときどき(リスクに基づく)
トークンフィールド名 cf-turnstile-response

ボーナスコードを取得してください: CapSolverダッシュボードでコード WEBS を使用して、毎回リチャージ時に追加の5%のボーナスを取得してください。

結論

CrewAIでCloudflare Turnstileを解決するには、@toolデコレータを使用してCapSolverのエクセキュータをラップし、captcha_type: "cloudflare"を指定する必要があります。TurnstileはreCAPTCHAよりも速く(2〜5秒対5〜12秒)解決され、コストも低いため、高ボリュームのCrewAIワークフローに効率的です。CapSolverは、reCAPTCHAと同じAPIを介してTurnstileを透過的に処理するため、CrewAIツールはすべてのCAPTCHAタイプで動作し、コード変更なしで動作します。

FAQ

Cloudflare TurnstileはreCAPTCHAより難易度が高いですか?

いいえ。Turnstileは実際、解決時間が短い(reCAPTCHA v2と比べて2〜5秒対5〜12秒)で、1回の解決コストも低くなります。CapSolver APIは同じインターフェースで両方を処理します。ただcaptcha_typeパラメータを変更するだけで済みます。

Turnstileサイトキーはどのようになりますか?

Turnstileサイトキーは常に0xから始まり、0x4AAAAAAABkMYinukE8nzYSのようなアルファベットと数字の組み合わせになります。div.cf-turnstile要素のdata-sitekey属性に記載されています。

1つのCrewAIツールでTurnstileとreCAPTCHAの両方を処理できますか?

はい。captcha_typeをパラメータとして受け入れる統一されたツールを作成できます。エクセキュータはタイプ値に基づいて正しいソルバーにルーティングします。cloudflareはTurnstile用、reCaptchaV2またはreCaptchaV3はreCAPTCHA用です。

ブラウザなしでTurnstileの解決は可能ですか?

はい。トークンモードではwebsite_urlwebsite_keyのみが必要です。ブラウザ、Playwright、ページレンダリングは必要ありません。トークンは直接返され、cf-turnstile-responseとしてHTTPリクエストに送信できます。

コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。

もっと見る

TinyFish AgentQでキャプチャを解く
TinyFish AgentQLを使ってCAPTCHAを解決する方法 – CapSolverを使用したステップバイステップガイド

CapSolverをTinyFish AgentQLに統合する方法を学び、reCAPTCHAやCloudflare TurnstileなどのCAPTCHAを自動的に解決する方法を学びましょう。PythonとJavaScript SDKの例を含むステップバイステップのチュートリアルで、シームレスなAI駆動のウェブ自動化を実現します。

ai
Logo of CapSolver

Sora Fujimoto

05-Aug-2026

ラマインデックスのエージェントでキャプチャをどうやって解決するか
LlamaIndexエージェントにおけるCAPTCHAの解決方法

CAPTCHAの解決をLlamaIndexエージェントにFunctionToolとCapSolverを使用してウェブデータのインジェストパイプラインに統合する。

ai
Logo of CapSolver

Sora Fujimoto

31-Jul-2026

CAPTCHAをMCP CapSolverサービスで解決する方法
MCPを使用したCAPTCHAの解き方: キャプソルバー モデル コンテキスト プロトコル サービス

Claude Desktop、Cursor、および任意のMCPクライアントでゼロコードでCAPTCHAを解くためのCapSolver MCPサービスを設定してください。

ai
Logo of CapSolver

Sora Fujimoto

31-Jul-2026

OpenAI Agents SDKにおけるreCAPTCHA v3の解き方
reCAPTCHA v3をOpenAIエージェントSDKで解く方法

OpenAI Agents SDKで、CapSolverのfunction_toolを使用して、高スコアのreCAPTCHA v3トークンを生成します。

ai
Logo of CapSolver

Sora Fujimoto

30-Jul-2026

クラウドフレアトゥルニスティールを解決する方法 クリューAIエージェントで
Cloudflare Turnstile の解決方法: CrewAI エージェントでの

CrewAIのマルチエージェントワークフローにCloudflare Turnstileの解決を統合し、CapSolverを用いて行います。

ai
Logo of CapSolver

Sora Fujimoto

30-Jul-2026

CAPTCHAを解く方法: AutoGen AIエージェントでCapSolverを使う
CAPTCHAを解決する方法: AutoGenエージェント

Microsoft AutoGenのマルチエージェント会話にCAPTCHAの解決を統合する完全なガイド – register_functionとグループチャットのパターンを使用してCapSolverで

ai
Logo of CapSolver

Sora Fujimoto

29-Jul-2026