
Sora Fujimoto
AI Solutions Architect

capsolver-coreはPlaywrightスクリプトに適しており、capsolver-agentはツールコールエージェントに適しており、capsolver-mcpはMCP互換クライアントに適しています。入札通知データ抽出の自動化は、明確な状態遷移を持つモニタリングされたエージェントステップとして構築されるべきです。 CapSolverは、ドキュメント化されたエージェント機能として接続されるべきです。ブラウザやモデルが検証チャレンジを検出すると、承認されたツールが処理し、エージェントは元のユーザー承認タスクが有効である場合にのみ再開されます。公式のCapSolver AIドキュメントでは、3つの実用的なレイヤーが説明されています。CapSolver for AI Agentsはアーキテクチャ、Core SDKブラウザモードはPlaywrightフロー、エージェントツールスキーマはモデル制御コール、MCPサービスツールはモデルコンテキストプロトコルでツールを発見するクライアントに該当します。この記事では、これらのドキュメントを生産的な入札通知データ抽出自動化ワークフローに変換し、コード、停止ルール、ロギングフィールドを含めます。
CapSolver AIドキュメントでは3つのレイヤーが説明されています。所有権モデルに合った最も低いレイヤーを使用してください。コードがブラウザを制御する場合はCore SDKを使用し、モデルがツールコールのタイミングを決定する場合はAgentツールを使用し、AIクライアントがツールを自動的に発見する場合はMCPサービスを使用してください。
pip install "capsolver-core[playwright] @ git+https://github.com/capsolver-ai/capsolver-core.git"
pip install git+https://github.com/capsolver-ai/capsolver-agent.git
pip install "capsolver-mcp[browser] @ git+https://github.com/capsolver-ai/capsolver-mcp.git"
playwright install chromium
export CAPSOLVER_API_KEY="your-capsolver-api-key"
イントロダクションとクイックスタートではパッケージの役割が説明されています。capsolver-coreはエンジンを公開し、capsolver-agentはそれをツールとしてラップし、capsolver-mcpは同じ機能をMCPクライアントに公開します。APIキーは環境設定に保持し、プロンプト、ログ、スクリーンショット、または記事の例に含めないでください。
最も安全な入札通知データ抽出自動化フローは、発見、詳細抽出、添付ファイル解析、レビューを分離する必要があります。CAPTCHA処理はページアクセスと抽出の間に位置し、すでに検証されていないコンテンツと混合されたデータの後にはなりません。
states = [
"discover_notice_list",
"open_notice_detail",
"challenge_detected",
"resume_after_solution",
"extract_public_fields",
"review_or_stop",
]
required_fields = ["notice_id", "buyer", "deadline", "source_url"]
この構造により、エージェントは正確に停止した場所を報告できます。また、抽出レイヤーとチャレンジレイヤーを独立させます。
入札通知データ抽出自動化フローが既にPlaywrightページを所有している場合はcapsolver-coreを使用してください。公式のコアSDKパスは、検出、CAPTCHA情報の読み取り、解決、ページへのトークンの戻しです。ページ構造が動的である場合、ワンストップブラウザ呼び出しが役立ちます。
import asyncio
from capsolver_core import create_capsolver
from playwright.async_api import async_playwright
TARGET_URL = "https://example.gov/tenders/search"
async def run_agent_step():
async with async_playwright() as pw:
browser = await pw.chromium.launch()
page = await browser.new_page()
await page.goto(TARGET_URL, wait_until="domcontentloaded")
async with create_capsolver(api_key="YOUR_CAPSOLVER_KEY") as cap:
captcha_types = await cap.detect(page)
if not captcha_types:
return "continue_without_challenge"
results = await cap.solve_on_page(page)
solved = [r for r in results if r.solution and not r.error]
if not solved:
return "stop_for_review"
return "resume_original_authorized_task"
asyncio.run(run_agent_step())
重要なエンジニアリングの詳細はトークンではなく、戻り値です。元のタスクが法的で、合理的で、ユーザー承認されている場合にのみエージェントは継続する必要があります。ページがプライベート、制限、機密、または承認されていないデータを要求した場合は停止する必要があります。
モデルがチャレンジ処理が必要なタイミングを決定する場合、capsolver-agentを使用してください。エージェントツールガイドはget_all_tools()を通じてツール定義を公開し、モデルツールコールをcreate_executor()を通じてルーティングします。
import json
from openai import OpenAI
from capsolver_agent.schema import create_executor, get_all_tools
client = OpenAI()
executor = create_executor(api_key="YOUR_CAPSOLVER_KEY", default_timeout=120)
tools = [tool.to_openai_function() for tool in get_all_tools()]
messages = [{
"role": "user",
"content": "承認されたブラウザタスクを続行してください。CAPTCHAが表示された場合は、CapSolverツールを一度呼び出し、結果を報告してください。"
}]
async def run_one_turn():
response = client.chat.completions.create(
model="gpt-4o",
messages=messages,
tools=tools,
)
for call in response.choices[0].message.tool_calls or []:
args = json.loads(call.function.arguments)
result = await executor.execute(call.function.name, args)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": json.dumps(result),
})
入札通知データ抽出自動化では、このツールパスをレビュー担当ポリシーにバインドしてください。モデルはツールを要求できますが、アプリケーションが許可されたURL範囲、最大試行回数、および結果が継続に使用できるかどうかを決定する必要があります。
CapSolverのボーナスコードを引き換える
自動化予算を即座に増やす!
CapSolverアカウントにチャージする際にボーナスコード CAP26 を使用すると、毎回 5%のボーナス を受け取れます — 限度はありません。
今すぐCapSolverダッシュボードで引き換えてください
どのチャレンジツールを呼び出す前に、ユーザーがタスクを承認したか、対象が承認されたドメインリスト内にあるか、アクセス中のデータが公開されているか、または他の方法で許可されているかを確認してください。入札通知データ抽出自動化ワークフローは、技術的機能を許可として扱ってはなりません。
小さなリトライ予算を使用してください。1回のブラウザ状態リトライと1回のクールダウンリトライで通常十分です。繰り返されるチャレンジイベントは、静かに継続する代わりにレビュー用のチケットを作成する必要があります。
URL、タイムスタンプ、チャレンジタイプ、CapSolverパッケージパス、試行回数、結果状態、最終的なページ状態をキャプチャしてください。ポリシーが明示的に許可しない限り、関係のないページコンテンツ、資格情報、セッションシークレット、または個人データを保存しないでください。
入札通知データ抽出自動化では、運用を法的に、証拠に基づいて保つ必要があります。HTTPステータスコードの動作、アクセシビリティ要件、プライバシーリスク管理、および公開データの管理を尊重してください。
強力な入札通知データ抽出自動化の記事は、実際の実装パスを示すべきであり、強力な生産ワークフローも同様であるべきです。実用的な選択は単純です。コード所有のブラウザ自動化にはcapsolver-coreを使用し、ツールコールエージェントにはcapsolver-agentを使用し、MCP互換クライアントにはcapsolver-mcpを使用してください。チャレンジ処理を制限し、ログに記録し、法的でユーザー承認された作業に結びつけてください。チームがエージェントワークフローにこの復元層を追加する準備ができたら、CapSolverと公式のAIエージェントドキュメントから始めてください。
アプリケーションがブラウザコードを所有している場合はcapsolver-coreを使用し、モデルがツールコールを決定する場合はcapsolver-agentを使用し、AIクライアントがMCPを通じてツールを発見する場合はcapsolver-mcpを使用してください。
いいえ。モデルはツールコールを要求できますが、アプリケーションがスコープ、リトライ制限、および停止条件を強制する必要があります。
いいえ。CAPTCHA処理は許可を提供しません。サイトの利用規約とデータ権を尊重する法的で合理的なユーザー承認ワークフローでのみ使用してください。
ソースURL、チャレンジタイプ、ツールパス、試行回数、結果状態、最終的なページ状態をログに記録してください。資格情報や関係のないページコンテンツはログに含めないでください。
スケーラブルなRustウェブスクレイピングアーキテクチャを学びましょう。リクエスト、スクレイパー、非同期スクレイピング、ヘッドレスブラウザスクレイピング、プロキシローテーション、およびコンプライアンス対応のCAPTCHA処理で。

2026年のデータ・アズ・ア・サービス(DaaS)を理解する。その利点、ユースケース、およびリアルタイムの洞察と拡張性を通じて企業を変革する方法について探る。
