
Rajinder Singh
Deep Learning Researcher

capsolver-core प्लेयराइट स्क्रिप्ट के लिए फिट है, capsolver-agent टूल-कॉलिंग एजेंट के लिए फिट है, और capsolver-mcp एमसीपी-संगत ग्राहक के लिए फिट है।टेंडर नोटिस डेटा निकालने के ऑटोमेशन को एक निरीक्षित एजेंट चरण के रूप में बनाया जाना चाहिए जिसमें स्पष्ट राज्य संक्रमण हों। कैपसॉल्वर को एक दस्तावेजीकृत एजेंट क्षमता के रूप में जोड़ा जाना चाहिए: ब्राउजर या मॉडल एक सत्यापन चुनौती की पहचान करता है, अनुमोदित टूल इसे हल करता है, और एजेंट केवल जब वास्तविक उपयोगकर्ता-अनुमोदित कार्य अभी भी वैध होता है, तभी जारी रखता है। आधिकारिक कैपसॉल्वर एआई दस्तावेज़ तीन व्यावहारिक स्तरों का वर्णन करते हैं: कैपसॉल्वर फॉर एआई एजेंट्स आर्किटेक्चर के लिए, कोर SDK ब्राउज़र मोड प्लेयराइट फ्लो के लिए, एजेंट टूल स्कीमा मॉडल-नियंत्रित कॉल के लिए, और एमसीपी सेवा टूल्स मॉडल संदर्भ प्रोटोकॉल के माध्यम से टूल्स की खोज करने वाले ग्राहक के लिए। इस लेख में इन दस्तावेज़ों को एक उत्पादन-मनोरथी टेंडर नोटिस डेटा निकालने के ऑटोमेशन वर्कफ़्लो में बदल दिया गया है, जिसमें कोड, रोक नियम और लॉगिंग क्षेत्र शामिल हैं।
कैपसॉल्वर एआई दस्तावेज़ तीन स्तरों का वर्णन करते हैं। अपने स्वामित्व मॉडल के अनुरूप सबसे निम्न स्तर का उपयोग करें: जब आपके कोड के ब्राउज़र का नियंत्रण होता है, तो कोर SDK का उपयोग करें, जब एक मॉडल टूल कॉल कब करना है, तो एजेंट टूल्स का उपयोग करें, और जब आपके एआई ग्राहक को स्वतः टूल्स की खोज करनी होती है, तो एमसीपी सेवा का उपयोग करें।
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="आपका-कैपसॉल्वर-एपी-की"
परिचय और त्वरित शुरुआत पैकेज की भूमिका समझाता है: capsolver-core इंजन को उजागर करता है, capsolver-agent इसे टूल्स के रूप में घेरता है, और capsolver-mcp एमसीपी ग्राहक के लिए समान क्षमता को उजागर करता है। एपीआई की चाबी को वातावरण के विन्यास में रखें और इसे प्रॉम्प्ट, लॉग, स्क्रीनशॉट या लेख उदाहरणों में न डालें।
सुरक्षित टेंडर नोटिस डेटा निकालने के ऑटोमेशन वर्कफ़्लो खोज, विवरण निकालना, अटैचमेंट पार्सिंग और समीक्षा के बीच अलग करता है। कैप्चा हैंडलिंग पृष्ठ एक्सेस और निकालने के बीच होती है, डेटा पहले से ही अप्रमाणित सामग्री के साथ मिश्रित हो गए होने पर कभी नहीं।
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"]
इस संरचना एजेंट को ठीक वहीं बंद करने में मदद करती है जहां वह रुका था। यह निकालने की परत को चुनौती परत से स्वतंत्र रखता है।
जब आपके टेंडर नोटिस डेटा निकालने के ऑटोमेशन वर्कफ़्लो में प्लेयराइट पेज का नियंत्रण होता है, तो capsolver-core का उपयोग करें। आधिकारिक कोर SDK पथ पहचान, कैप्चा जानकारी पढ़ें, हल करें और पृष्ठ में टोकन वापस भरें। जब पृष्ठ संरचना डायनामिक होती है, तो सभी एक साथ ब्राउज़र कॉल उपयोगी होता है।
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": "अनुमोदित ब्राउज़र कार्य जारी रखें। यदि कोई कैप्चा दिखाई देता है, तो एक बार कैपसॉल्वर टूल कॉल करें और परिणाम रिपोर्ट करें।"
}]
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),
})
टेंडर नोटिस डेटा निकालने के ऑटोमेशन के लिए, इस टूल पथ को एक समीक्षा नीति से बांधें। मॉडल टूल को मांग सकता है, लेकिन आपके एप्लिकेशन अनुमत यूआरएल स्कोप, अधिकतम प्रयास और यह तय करता है कि परिणाम का उपयोग कार्य जारी रखने के लिए किया जा सकता है या नहीं।
कैपसॉल्वर बोनस कोड का उपयोग करें
अपने ऑटोमेशन बजट को तत्काल बढ़ाएं!
कैपसॉल्वर खाता भरने के समय बोनस कोड CAP26 का उपयोग करें ताकि प्रत्येक भरोसे पर 5% बोनस मिले — कोई सीमा नहीं।
अपने कैपसॉल्वर डैशबोर्ड में अभी बोनस कोड का उपयोग करें
किसी भी चुनौती टूल कॉल करने से पहले, यह पुष्टि करें कि उपयोगकर्ता ने कार्य को अनुमोदित किया है, लक्ष्य अनुमोदित डोमेन सूची में है, और जिस डेटा की एक्सेस की जा रही है, वह सार्वजनिक है या अन्यथा अनुमत है। टेंडर नोटिस डेटा निकालने के ऑटोमेशन वर्कफ़्लो कभी-भी तकनीकी क्षमता को अनुमति के रूप में नहीं मान सकता।
छोटे पुनर्प्रयास बजट का उपयोग करें। एक ब्राउज़र-स्टेट पुनर्प्रयास और एक कूलडाउन पुनर्प्रयास आमतौर पर पर्याप्त होते हैं। दोहराए गए चुनौती घटनाएं निरीक्षण टिकट बनाने के बजाय चुपके से जारी रखने के लिए नहीं होनी चाहिए।
यूआरएल, समय-सीमा, चुनौती प्रकार, कैपसॉल्वर पैकेज पथ, प्रयास संख्या, परिणाम स्थिति और अंतिम पृष्ठ स्थिति को लॉग करें। अपनी नीति द्वारा विशेष रूप से अनुमति देने पर ही असंबंधित पृष्ठ सामग्री, पासवर्ड, सत्र गुप्त या व्यक्तिगत डेटा को लॉग में संग्रहीत करें।
टेंडर नोटिस डेटा निकालने के ऑटोमेशन के लिए, चलाने कानूनी और साक्ष्य-आधारित रखें: HTTP स्थिति कोड व्यवहार, सुलभता आवश्यकताएं, गोपनीयता जोखिम प्रबंधन, और सार्वजनिक डेटा देखभाल के सम्मान करें।
एक मजबूत टेंडर नोटिस डेटा निकालने के ऑटोमेशन लेख में वास्तविक कार्यान्वयन पथ दिखाना चाहिए, और एक मजबूत उत्पादन वर्कफ़्लो भी ऐसा करना चाहिए। व्यावहारिक चयन सरल है: capsolver-core का उपयोग करें जब आपके एप्लिकेशन के पास ब्राउज़र कोड होता है, capsolver-agent का उपयोग करें जब मॉडल को टूल कॉल करना होता है, और capsolver-mcp का उपयोग करें जब एआई ग्राहक को एमसीपी के माध्यम से टूल्स की खोज करनी होती है। चुनौती हैंडलिंग को सीमित, लॉग किया गया और कानूनी उपयोगकर्ता-अनुमोदित कार्य से जुड़ा रखें। जब आपकी टीम एजेंट वर्कफ़्लो में इस रिकवरी लेयर को जोड़ने के लिए तैयार होती है, तो कैपसॉल्वर और आधिकारिक एआई एजेंट दस्तावेज़ों से शुरू करें।
जब आपके एप्लिकेशन के पास ब्राउज़र कोड होता है, तो capsolver-core का उपयोग करें, जब मॉडल को टूल कॉल करना होता है, तो capsolver-agent का उपयोग करें, और जब एआई ग्राहक को एमसीपी के माध्यम से टूल्स की खोज करनी होती है, तो capsolver-mcp का उपयोग करें।
नहीं। मॉडल टूल कॉल मांग सकता है, लेकिन एप्लिकेशन को स्कोप, पुनर्प्रयास सीमाएं और बंद की स्थिति के नियमों को लागू करना चाहिए।
नहीं। कैप्चा हैंडलिंग के कारण अनुमति नहीं मिलती है। इसका उपयोग कानूनी, तार्किक, उपयोगकर्ता-अनुमोदित वर्कफ़्लो के लिए करें जो साइट की शर्तों और डेटा अधिकारों के सम्मान करते हैं।
स्रोत यूआरएल, चुनौती प्रकार, टूल पथ, प्रयास संख्या, परिणाम स्थिति और अंतिम पृष्ठ स्थिति को लॉग करें। लॉग में पासवर्ड और असंबंधित पृष्ठ सामग्री को बाहर रखें।
Rust में वेब स्क्रैपिंग के स्केलेबल आर्किटेक्चर सीखें, reqwest, scraper, असिंक्रोनस स्क्रैपिंग, हेडलेस ब्राउज़र स्क्रैपिंग, प्रॉक्सी रोटेशन, और संगत CAPTCHA का निपटारा।

CapSolver के साथ RoxyBrowser के एकीकरण करें ताकि ब्राउज़र के कार्यों को स्वचालित किया जा सके और reCAPTCHA, Turnstile और अन्य CAPTCHAs को बायपास किया जा सके।
