Sample Post

Rajinder Singh
Deep Learning Researcher
15-Dec-2025
TLDR: यह गाइड बोटासॉरस, एक पायथन वेब स्क्रैपिंग फ्रेमवर्क जिसमें बिल्ट-इन एंटी-डिटेक्शन विशेषताएं हैं, और कैपसॉल्वर, एक कैप्चा समाधान API के साथ बड़े पैमाने पर वेब स्क्रैपिंग के दौरान reCAPTCHA v2, reCAPTCHA v3 और Cloudflare Turnstile को स्वचालित रूप से बाहर निकालने के लिए एकजुट करने का वर्णन करता है। मुख्य प्रक्रिया में वातावरण सेट करना, कैपसॉल्वर ब्राउज़र एक्सटेंशन का उपयोग करके कैप्चा पैरामीटर की पहचान करना, पायथन हेल्पर फ़ंक्शन के माध्यम से कैपसॉल्वर API को कॉल करके समाधान टोकन प्राप्त करना, और अंत में बोटासॉरस के माध्यम से टोकन को वेबपेज में निवेश करना शामिल है।

कैप्चा को पायथन में बोटासॉरस और कैपसॉल्वर के साथ हल करें (पूर्ण गाइड)
स्केल पर वेब स्क्रैपिंग के दौरान कैप्चा अक्सर स्वचालित पहुंच को ब्लॉक करते हैं। यह गाइड Botasaurus के साथ CapSolver के एक शक्तिशाली वेब स्क्रैपिंग फ्रेमवर्क के साथ एकजुट करने का वर्णन करता है, जो reCAPTCHA v2, reCAPTCHA v3 और Cloudflare Turnstile कैप्चा को स्वचालित रूप से हल करता है।
बोटासॉरस क्या है?
बोटासॉरस एक पायथन वेब स्क्रैपिंग फ्रेमवर्क है जो ब्राउज़र ऑटोमेशन को सरल बनाता है और बॉट डिटेक्शन के खिलाफ बिल्ट-इन सुरक्षा विशेषताएं प्रदान करता है। यह ब्राउज़र कार्यों के लिए एक स्पष्ट डेकोरेटर-आधारित API प्रदान करता है।
मुख्य विशेषताएं:
- एंटी-डिटेक्शन: बॉट डिटेक्शन से बचने के लिए बिल्ट-इन सुरक्षा विशेषताएं
- सरल API:
@browserके साथ डेकोरेटर-आधारित दृष्टिकोण - जावास्क्रिप्ट निष्पादन: ब्राउज़र संदर्भ में कस्टम जावास्क्रिप्ट चलाएं
- तत्व चयन: सीएसएस सेलेक्टर के साथ आसान DOM मैनिपुलेशन
स्थापना:
bash
pip install botasaurus
आधारभूत उपयोग:
python
from botasaurus.browser import browser, Driver
@browser()
def scrape_page(driver: Driver, data):
driver.get("https://example.com")
title = driver.get_text("h1")
return {"title": title}
# स्क्रैपर चलाएं
result = scrape_page()
कैपसॉल्वर क्या है?
कैपसॉल्वर एक कैप्चा समाधान सेवा है जो विभिन्न कैप्चा प्रकार जैसे reCAPTCHA और Cloudflare Turnstile को हल करने के लिए API प्रदान करता है।
समर्थित कैप्चा प्रकार:
- reCAPTCHA v2 (चेकबॉक्स और अदृश्य)
- reCAPTCHA v3 (स्कोर-आधारित)
- reCAPTCHA एंटरप्राइज
- Cloudflare Turnstile
- और अधिक
अपना API कुंजी प्राप्त करें:
- CapSolver डैशबोर्ड पर एक खाता बनाएं
- अपने खाते में धन जमा करें
- अपना API कुंजी कॉपी करें (जो
CAP-से शुरू होता है)
परियोजना सेटअप
निर्भरता स्थापित करें
bash
pip install botasaurus capsolver requests python-dotenv
वातावरण की व्यवस्था करें
अपने परियोजना मूल में एक .env फ़ाइल बनाएं:
env
CAPSOLVER_API_KEY=CAP-अपना_API_KEY_यहां_रखें
व्यवस्था मॉड्यूल
एक साझा व्यवस्था लोडर बनाएं:
python
# shared/config.py
import os
from pathlib import Path
from dotenv import load_dotenv
# परियोजना मूल से .env फ़ाइल लोड करें
ROOT_DIR = Path(__file__).parent.parent
load_dotenv(ROOT_DIR / ".env")
class Config:
"""कैपसॉल्वर एकीकरण के लिए व्यवस्था वर्ग।"""
# कैपसॉल्वर API कुंजी
CAPSOLVER_API_KEY: str = os.getenv("CAPSOLVER_API_KEY", "")
# कैपसॉल्वर API एंडपॉइंट
CAPSOLVER_API_URL = "https://api.capsolver.com"
CREATE_TASK_ENDPOINT = f"{CAPSOLVER_API_URL}/createTask"
GET_RESULT_ENDPOINT = f"{CAPSOLVER_API_URL}/getTaskResult"
@classmethod
def validate(cls) -> bool:
"""व्यवस्था वैधता की जांच करें।"""
if not cls.CAPSOLVER_API_KEY:
print("त्रुटि: CAPSOLVER_API_KEY सेट नहीं है!")
return False
return True
कैपसॉल्वर एक्सटेंशन के साथ कैप्चा पैरामीटर की पहचान करें
API के साथ एकीकरण से पहले, आपको लक्ष्य कैप्चा के सही पैरामीटर की पहचान करने की आवश्यकता होती है। कैपसॉल्वर ब्राउज़र एक्सटेंशन अपने आप आवश्यक पैरामीटर की पहचान करने के लिए एक आसान तरीका प्रदान करता है।
स्थापना
Chrome Web Store से कैपसॉल्वर एक्सटेंशन स्थापित करें।
कैप्चा डिटेक्टर का उपयोग करें
- F12 दबाएं डेवलपर टूल्स खोलने के लिए
- कैपसॉल्वर कैप्चा डिटेक्टर टैब तक जाएं
- अपने लक्ष्य वेबसाइट पर जाते समय डिटेक्टर पैनल खुला रखें
- पृष्ठ पर कैप्चा को ट्रिगर करें
महत्वपूर्ण: कैप्चा ट्रिगर करने से पहले कैपसॉल्वर पैनल बंद न करें, क्योंकि इसे बंद करने से पहले पहचाने गए जानकारी खो जाती है।
पहचाने गए पैरामीटर
एक्सटेंशन सभी आवश्यक reCAPTCHA पैरामीटर की स्वचालित रूप से पहचान करता है:
- वेबसाइट URL
- साइट की
- pageAction (v3 के लिए)
- isInvisible
- isEnterprise
- Api डोमेन
डिटेक्टर एपीआई एकीकरण के लिए तैयार फॉरमैटेड JSON आउटपुट प्रदान करता है, जो आपके समाधान कार्यों के लिए आवश्यक सटीक पैरामीटर कॉपी करने में आसानी प्रदान करता है।
अधिक जानकारी के लिए, कैप्चा पैरामीटर की पहचान करने के बारे में पूर्ण गाइड देखें।
कैपसॉल्वर API के साथ reCAPTCHA v2 हल करें
reCAPTCHA v2 पारंपरिक "मैं एक रोबोट नहीं हूं" चेकबॉक्स कैप्चा है। यह उपयोक्ताओं के लिए छवि चयन चुनौतियां प्रस्तुत कर सकता है।
साइट की खोज करें
आप कैपसॉल्वर एक्सटेंशन डिटेक्टर (ऊपर वर्णित) का उपयोग कर सकते हैं या हाथ से साइट की खोज कर सकते हैं:
पृष्ठ HTML में देखें:
html
<div class="g-recaptcha" data-sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"></div>
या जावास्क्रिप्ट में:
javascript
grecaptcha.render('container', {'sitekey': '6Le-xxxxx...'});
हेल्पर फ़ंक्शन
python
# utils/capsolver_helper.py
import time
import requests
from shared.config import Config
def solve_recaptcha_v2(
website_url: str,
website_key: str,
is_invisible: bool = False,
timeout: int = 120
) -> dict:
"""
कैपसॉल्वर API के माध्यम से reCAPTCHA v2 हल करें।
आर्ग्स:
website_url: कैप्चा वाले पृष्ठ का URL
website_key: reCAPTCHA साइट की
is_invisible: क्या यह अदृश्य reCAPTCHA v2 है
timeout: समाधान के लिए अधिकतम समय (सेकंड में)
लौटाता है:
'gRecaptchaResponse' टोकन के साथ डिक्ट
"""
if not Config.validate():
raise Exception("अमान्य व्यवस्था - अपना API कुंजी जांचें")
# कार्य लोड बनाएं
task = {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
}
if is_invisible:
task["isInvisible"] = True
payload = {
"clientKey": Config.CAPSOLVER_API_KEY,
"task": task
}
# कार्य बनाएं
response = requests.post(Config.CREATE_TASK_ENDPOINT, json=payload)
result = response.json()
if result.get("errorId") and result.get("errorId") != 0:
raise Exception(f"कार्य बनाने में असफल: {result.get('errorDescription')}")
task_id = result.get("taskId")
# परिणाम के लिए पॉल
start_time = time.time()
while time.time() - start_time < timeout:
time.sleep(2)
result_payload = {
"clientKey": Config.CAPSOLVER_API_KEY,
"taskId": task_id
}
response = requests.post(Config.GET_RESULT_ENDPOINT, json=result_payload)
result = response.json()
if result.get("status") == "ready":
return result.get("solution", {})
elif result.get("status") == "failed":
raise Exception(f"कार्य असफल: {result.get('errorDescription')}")
raise Exception(f"{timeout} सेकंड के बाद समय सीमा समाप्त हो गई")
पूर्ण reCAPTCHA v2 उदाहरण
python
from botasaurus.browser import browser, Driver
from shared.config import Config
from utils.capsolver_helper import solve_recaptcha_v2
DEMO_URL = "https://www.google.com/recaptcha/api2/demo"
DEMO_SITEKEY = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
@browser(headless=False)
def solve_recaptcha_v2_with_api(driver: Driver, data: dict):
"""कैपसॉल्वर API के माध्यम से reCAPTCHA v2 हल करें और टोकन निवेश करें।"""
url = data.get("url", DEMO_URL)
site_key = data.get("site_key", DEMO_SITEKEY)
# चरण 1: पृष्ठ लोड करें
driver.get(url)
driver.sleep(2)
# चरण 2: पृष्ठ से साइट की निकालें (वैकल्पिक)
extracted_key = driver.run_js("""
const recaptchaDiv = document.querySelector('.g-recaptcha');
return recaptchaDiv ? recaptchaDiv.getAttribute('data-sitekey') : null;
""")
if extracted_key:
site_key = extracted_key
# चरण 3: कैपसॉल्वर API के माध्यम से कैप्चा हल करें
solution = solve_recaptcha_v2(
website_url=url,
website_key=site_key
)
token = solution.get("gRecaptchaResponse")
# चरण 4: टोकन को पृष्ठ में निवेश करें
driver.run_js(f"""
// छिपे हुए टेक्स्ट क्षेत्र के मान को सेट करें
const responseField = document.querySelector('[name="g-recaptcha-response"]');
if (responseField) {{
responseField.value = "{token}";
}}
// यदि उपलब्ध हो तो कॉलबैक ट्रिगर करें
if (typeof ___grecaptcha_cfg !== 'undefined') {{
try {{
const clients = ___grecaptcha_cfg.clients;
for (const key in clients) {{
const client = clients[key];
if (client && client.callback) {{
client.callback("{token}");
}}
}}
}} catch (e) {{}}
}}
""")
# चरण 5: फॉर्म जमा करें
submit_button = driver.select('input[type="submit"]')
if submit_button:
submit_button.click()
driver.sleep(2)
return {"success": True, "token_length": len(token)}
# डेमो चलाएं
result = solve_recaptcha_v2_with_api(data={"url": DEMO_URL, "site_key": DEMO_SITEKEY})
कैपसॉल्वर API के साथ reCAPTCHA v3 हल करें
reCAPTCHA v3 अदृश्य है और उपयोगकर्ता व्यवहार के विश्लेषण के माध्यम से 0.0 से 1.0 के बीच एक स्कोर बनाता है।
v2 से मुख्य अंतर: reCAPTCHA v3 के लिए pageAction पैरामीटर की आवश्यकता होती है।
pageAction खोजें
सबसे आसान तरीका कैपसॉल्वर एक्सटेंशन डिटेक्टर का उपयोग करना है। अन्यथा, पृष्ठ जावास्क्रिप्ट में नीचे देखें:
javascript
grecaptcha.execute('siteKey', {action: 'login'})
// 'login' आपका pageAction है
हेल्पर फ़ंक्शन
python
def solve_recaptcha_v3(
website_url: str,
website_key: str,
page_action: str,
timeout: int = 120
) -> dict:
"""
कैपसॉल्वर API के माध्यम से reCAPTCHA v3 हल करें।
आर्ग्स:
website_url: कैप्चा वाले पृष्ठ का URL
website_key: reCAPTCHA साइट की
page_action: कैप्चा एक्शन पैरामीटर (v3 के लिए आवश्यक है)
timeout: समाधान के लिए अधिकतम समय (सेकंड में)
लौटाता है:
'gRecaptchaResponse' टोकन के साथ डिक्ट
"""
if not Config.validate():
raise Exception("अमान्य व्यवस्था - अपना API कुंजी जांचें")
if not page_action:
raise Exception("reCAPTCHA v3 के लिए pageAction आवश्यक है")
# कार्य लोड बनाएं
task = {
"type": "ReCaptchaV3TaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
"pageAction": page_action, # v3 के लिए आवश्यक है
}
payload = {
"clientKey": Config.CAPSOLVER_API_KEY,
"task": task
}
# कार्य बनाएं
response = requests.post(Config.CREATE_TASK_ENDPOINT, json=payload)
result = response.json()
if result.get("errorId") and result.get("errorId") != 0:
raise Exception(f"कार्य बनाने में असफल: {result.get('errorDescription')}")
task_id = result.get("taskId")
# परिणाम के लिए पॉल
start_time = time.time()
while time.time() - start_time < timeout:
time.sleep(2)
result_payload = {
"clientKey": Config.CAPSOLVER_API_KEY,
"taskId": task_id
}
response = requests.post(Config.GET_RESULT_ENDPOINT, json=result_payload)
result = response.json()
if result.get("status") == "ready":
return result.get("solution", {})
elif result.get("status") == "failed":
raise Exception(f"कार्य असफल: {result.get('errorDescription')}")
raise Exception(f"{timeout} सेकंड के बाद समय सीमा समाप्त हो गई")
पूर्ण reCAPTCHA v3 उदाहरण
python
from botasaurus.browser import browser, Driver
from shared.config import Config
from utils.capsolver_helper import solve_recaptcha_v3
DEMO_URL = "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php"
DEMO_SITEKEY = "6LdyC2cUAAAAACGuDKpXeDorzUDWXmdqeg-xy696"
PAGE_ACTION = "examples/v3scores"
@browser(headless=False)
def solve_recaptcha_v3_with_api(driver: Driver, data: dict):
"""कैपसॉल्वर API के माध्यम से reCAPTCHA v3 हल करें और टोकन निवेश करें।"""
url = data.get("url", DEMO_URL)
site_key = data.get("site_key", DEMO_SITEKEY)
page_action = data.get("page_action", PAGE_ACTION)
# चरण 1: पृष्ठ लोड करें
driver.get(url)
driver.sleep(2)
# चरण 2: कैप्चा को कैपसॉल्वर API के माध्यम से हल करें
solution = solve_recaptcha_v3(
website_url=url,
website_key=site_key,
page_action=page_action
)
token = solution.get("gRecaptchaResponse")
# चरण 3: टोकन को पृष्ठ में निवेश करें
driver.run_js(f"""
const token = "{token}";
// छिपे हुए क्षेत्र को सेट करें यदि उपलब्ध है
const responseField = document.querySelector('[name="g-recaptcha-response"]');
if (responseField) {{
responseField.value = token;
}}
// यदि फॉर्म मौजूद है लेकिन क्षेत्र नहीं है, छिपे हुए क्षेत्र बनाएं
const forms = document.querySelectorAll('form');
forms.forEach(form => {{
let field = form.querySelector('[name="g-recaptcha-response"]');
if (!field) {{
field = document.createElement('input');
field.type = 'hidden';
field.name = 'g-recaptcha-response';
form.appendChild(field);
}}
field.value = token;
}});
""")
# चरण 4: सत्यापित करें या फॉर्म जमा करें
buttons = driver.select_all("button")
for button in buttons:
if "सत्यापित" या "जमा" पर बटन के लिए बनाएं:
button.click()
driver.sleep(2)
break
return {"success": True, "token_length": len(token)}
# डेमो चलाएं
result = solve_recaptcha_v3_with_api(data={
"url": DEMO_URL,
"site_key": DEMO_SITEKEY,
"page_action": PAGE_ACTION
})
कैपसॉल्वर API के साथ Cloudflare Turnstile हल करें
Cloudflare Turnstile गोपनीयता-केंद्रित कैप्चा विकल्प है जो पारंपरिक कैप्चा के बजाय कम अवांछित होने के लिए डिज़ाइन किया गया है।
reCAPTCHA से मुख्य अंतर:
- कार्य प्रकार
AntiTurnstileTaskProxyLessहै - प्रतिक्रिया क्षेत्र
token(नहींgRecaptchaResponse) है - साइट की आमतौर पर
0x4से शुरू होती है
साइट की खोज करें
पृष्ठ HTML में देखें:
html
<div class="cf-turnstile" data-sitekey="0x4AAAAAAABS7vwvV6VFfMcD"></div>
हेल्पर फ़ंक्शन
python
def solve_turnstile(
website_url: str,
website_key: str,
action: str = None,
cdata: str = None,
timeout: int = 120
) -> dict:
"""
समाधान क्लाउडफ़्लेर टर्नस्टाइल कैपसॉल्वर API के साथ।
आर्ग्स:
website_url: टर्नस्टाइल वाले पृष्ठ का URL
website_key: टर्नस्टाइल साइट कुंजी (0x4 से शुरू होती है)
action: डेटा-एक्शन एट्रिब्यूट से वैकल्पिक कार्य
cdata: डेटा-सीडेटा एट्रिब्यूट से वैकल्पिक सीडेटा
timeout: समाधान के लिए प्रतीक्षा करने का अधिकतम समय (सेकंड में)
वापसी:
'टोकन' क्षेत्र वाला डिक्शनरी
"""
if not Config.validate():
raise Exception("अमान्य कॉन्फ़िगरेशन - अपने API कुंजी की जांच करें")
# कार्य भार बनाएं
task = {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": website_url,
"websiteKey": website_key,
}
# वैकल्पिक मेटाडेटा जोड़ें
metadata = {}
if action:
metadata["action"] = action
if cdata:
metadata["cdata"] = cdata
if metadata:
task["metadata"] = metadata
payload = {
"clientKey": Config.CAPSOLVER_API_KEY,
"task": task
}
# कार्य बनाएं
response = requests.post(Config.CREATE_TASK_ENDPOINT, json=payload)
result = response.json()
if result.get("errorId") and result.get("errorId") != 0:
raise Exception(f"कार्य बनाने में विफल: {result.get('errorDescription')}")
task_id = result.get("taskId")
# परिणाम के लिए पॉल
start_time = time.time()
while time.time() - start_time < timeout:
time.sleep(2)
result_payload = {
"clientKey": Config.CAPSOLVER_API_KEY,
"taskId": task_id
}
response = requests.post(Config.GET_RESULT_ENDPOINT, json=result_payload)
result = response.json()
if result.get("status") == "ready":
return result.get("solution", {})
elif result.get("status") == "failed":
raise Exception(f"कार्य विफल: {result.get('errorDescription')}")
raise Exception(f"{timeout} सेकंड के बाद समय सीमा समाप्त")
पूर्ण टर्नस्टाइल उदाहरण
python
from botasaurus.browser import browser, Driver
from shared.config import Config
from utils.capsolver_helper import solve_turnstile
DEMO_URL = "https://peet.ws/turnstile-test/non-interactive.html"
DEMO_SITEKEY = "0x4AAAAAAABS7vwvV6VFfMcD"
@browser(headless=False)
def solve_turnstile_with_api(driver: Driver, data: dict):
"""कैपसॉल्वर API के साथ क्लाउडफ़्लेर टर्नस्टाइल हल करें और टोकन इंजेक्ट करें।"""
url = data.get("url", DEMO_URL)
site_key = data.get("site_key", DEMO_SITEKEY)
# चरण 1: पृष्ठ लोड करें
driver.get(url)
driver.sleep(3)
# चरण 2: पृष्ठ से साइट कुंजी निकालें (वैकल्पिक)
extracted_params = driver.run_js("""
const turnstileDiv = document.querySelector('.cf-turnstile, [data-sitekey]');
if (turnstileDiv) {
const key = turnstileDiv.getAttribute('data-sitekey');
if (key && key.startsWith('0x')) {
return {
sitekey: key,
action: turnstileDiv.getAttribute('data-action')
};
}
}
return null;
""")
if extracted_params and extracted_params.get("sitekey"):
site_key = extracted_params["sitekey"]
# चरण 3: कैपसॉल्वर API के माध्यम से टर्नस्टाइल हल करें
solution = solve_turnstile(
website_url=url,
website_key=site_key,
action=extracted_params.get("action") if extracted_params else None
)
token = solution.get("token")
# चरण 4: टोकन को पृष्ठ में इंजेक्ट करें
driver.run_js(f"""
const token = "{token}";
// cf-turnstile-response फ़ील्ड खोजें और भरें
const responseFields = [
document.querySelector('[name="cf-turnstile-response"]'),
document.querySelector('[name="cf_turnstile_response"]'),
document.querySelector('input[name*="turnstile"]')
];
for (const field of responseFields) {{
if (field) {{
field.value = token;
break;
}}
}}
// यदि फॉर्म मौजूद है लेकिन फ़ील्ड नहीं है, तो छिपा फ़ील्ड बनाएं
const forms = document.querySelectorAll('form');
forms.forEach(form => {{
let field = form.querySelector('[name="cf-turnstile-response"]');
if (!field) {{
field = document.createElement('input');
field.type = 'hidden';
field.name = 'cf-turnstile-response';
form.appendChild(field);
}}
field.value = token;
}});
""")
# चरण 5: फॉर्म जमा करें
submit_btn = driver.select('button[type="submit"], input[type="submit"]')
if submit_btn:
submit_btn.click()
driver.sleep(2)
return {"success": True, "token_length": len(token)}
# डेमो चलाएं
result = solve_turnstile_with_api(data={"url": DEMO_URL, "site_key": DEMO_SITEKEY})
कार्य प्रकार संदर्भ
| कैपचा प्रकार | कार्य प्रकार | परिणाम क्षेत्र | आवश्यक पैरामीटर |
|---|---|---|---|
| reCAPTCHA v2 | ReCaptchaV2TaskProxyLess |
gRecaptchaResponse |
websiteURL, websiteKey |
| reCAPTCHA v2 एंटरप्राइज | ReCaptchaV2EnterpriseTaskProxyLess |
gRecaptchaResponse |
websiteURL, websiteKey |
| reCAPTCHA v3 | ReCaptchaV3TaskProxyLess |
gRecaptchaResponse |
websiteURL, websiteKey, pageAction |
| reCAPTCHA v3 एंटरप्राइज | ReCaptchaV3EnterpriseTaskProxyLess |
gRecaptchaResponse |
websiteURL, websiteKey, pageAction |
| क्लाउडफ़्लेर टर्नस्टाइल | AntiTurnstileTaskProxyLess |
token |
websiteURL, websiteKey |
डेटासेंटर आईपी को ब्लॉक करने वाले साइट्स के लिए, प्रॉक्सी विकल्प का उपयोग करें (उदाहरण के लिए, ReCaptchaV2Task) और अपना आवासीय प्रॉक्सी प्रदान करें।
शीर्ष अभ्यास
1. टोकन समाप्ति
कैपचा टोकन तेजी से समाप्त हो जाते हैं (आमतौर पर 2 मिनट के भीतर)। हमेशा टोकन का उपयोग जब आपको इसे प्राप्त करते हैं:
python
# टोकन प्राप्त करें
solution = solve_recaptcha_v2(url, site_key)
token = solution.get("gRecaptchaResponse")
# तुरंत उपयोग करें - बाद में भंडारण न करें
driver.run_js(f'document.querySelector("[name=g-recaptcha-response]").value = "{token}"')
driver.select('button[type="submit"]').click()
2. त्रुटि नियंत्रण
हमेशा API विफलता के लिए उचित त्रुटि नियंत्रण लागू करें:
python
try:
solution = solve_recaptcha_v2(url, site_key)
except Exception as e:
print(f"कैपचा समाधान विफल: {e}")
# पुन: प्रयास लॉजिक या फॉलबैक लागू करें
3. दर बाधा
अंतर्गत अनुरोधों के बीच देरी जोड़ें ताकि एंटी-बॉट उपाय द्वारा ट्रिगर न हो:
python
driver.sleep(2) # पृष्ठ लोड के बाद प्रतीक्षा करें
# ... कैपचा हल करें ...
driver.sleep(1) # फॉर्म जमा करने से पहले प्रतीक्षा करें
4. कॉन्फ़िगरेशन की पुष्टि करें
हमेशा मांग करने से पहले अपने API कुंजी की पुष्टि करें:
python
if not Config.validate():
raise Exception("कृपया .env फ़ाइल में अपने API कुंजी की कॉन्फ़िगरेशन करें")
निष्कर्ष
बोटासॉरस के साथ कैपसॉल्वर का उपयोग करके वेब स्क्रैपिंग परियोजनाओं में कैपचा के साथ एक विश्वसनीय समाधान प्रदान करता है। एपीआई-आधारित दृष्टिकोण आपको कैपचा के समाधान प्रक्रिया पर पूर्ण नियंत्रण प्रदान करता है और विभिन्न कैपचा प्रकारों पर विश्वसनीय रूप से काम करता है।
अपने स्वचालन बजट को तुरंत बढ़ाएं!
कैपसॉल्वर खाता बढ़ाते समय CAPN बोनस कोड का उपयोग करें ताकि प्रत्येक भरोसा पर 5% बोनस प्राप्त करें — कोई सीमा नहीं।
अपने कैपसॉल्वर डैशबोर्ड में अभी बोनस कोड लागू करें
मुख्य बातें
- बोटासॉरस एंटी-डिटेक्शन विशेषताओं के साथ ब्राउज़र स्वचालन प्रदान करता है
- कैपसॉल्वर API एक विश्वसनीय तरीका प्रदान करता है जो विभिन्न कैपचा प्रकारों के साथ प्रोग्रामेटिक रूप से हल करता है
- reCAPTCHA v2 के लिए
websiteURLऔरwebsiteKeyपैरामीटर आवश्यक हैं - reCAPTCHA v3 के लिए एक अतिरिक्त
pageActionपैरामीटर की आवश्यकता होती है - क्लाउडफ़्लेर टर्नस्टाइल के बजाय
tokenक्षेत्र वापस करता है - टोकन तेजी से समाप्त हो जाते हैं (~2 मिनट), इसलिए जब आपको इसे प्राप्त करते हैं तो तुरंत उपयोग करें
अक्सर पूछे जाने वाले प्रश्न (FAQ)
पायथन वेब स्क्रैपिंग में reCAPTCHA और क्लाउडफ़्लेर टर्नस्टाइल कैसे स्वचालित रूप से हल करें?
सबसे प्रभावी तरीका बोटासॉरस जैसे एक विशाल ब्राउज़र स्वचालन फ्रेमवर्क का उपयोग करना है, जो एंटी-डिटेक्शन के साथ ब्राउज़र स्वचालन सरल करता है, और कैपसॉल्वर जैसे एक विशिष्ट कैपचा समाधान API के साथ एकीकृत करें ताकि आवश्यक समाधान टोकन प्राप्त किया जा सके।
एंटी-डिटेक्शन वेब स्क्रैपिंग के लिए बोटासॉरस के उपयोग के लाभ क्या हैं?
बोटासॉरस एंटी-डिटेक्शन के साथ साफ, डिकोरेटर-आधारित API के साथ ब्राउज़र स्वचालन सरल करता है जो लक्षित वेबसाइटों द्वारा निरीक्षण और ब्लॉकिंग के जोखिम को कम करता है।
कैपसॉल्वर API के साथ reCAPTCHA v2 और v3 समाधान में क्या अंतर है?
जबकि दोनों के लिए websiteURL और websiteKey आवश्यक हैं, reCAPTCHA v3 (अदृश्य, स्कोर-आधारित संस्करण) के समाधान के लिए कार्य भार में एक अतिरिक्त pageAction पैरामीटर की आवश्यकता होती है।
कैपसॉल्वर द्वारा कैपचा टोकन के बाद क्या होता है?
जब टोकन (उदाहरण के लिए, gRecaptchaResponse या token) प्राप्त हो जाता है, तो फॉर्म के सफल जमा करने के लिए टोकन को लक्षित पृष्ठ के छिपे फॉर्म फ़ील्ड में तुरंत जोड़ा जाना चाहिए जैसा कि जावास्क्रिप्ट निष्पादन कमांड के माध्यम से किया जाता है।
कैपसॉल्वर टोकन कितना समय तक वैध रहता है?
कैपसॉल्वर द्वारा reCAPTCHA और टर्नस्टाइल के लिए प्रदान किए गए समाधान टोकन बहुत कम समय के लिए वैध होते हैं, आमतौर पर लगभग 2 मिनट में समाप्त हो जाते हैं, इसलिए जब आपको इसे प्राप्त करते हैं तो तुरंत उपयोग करें।
अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

2026 में IP बैन: उनके काम करने का तरीका और उन्हें पार करने के व्यावहारिक तरीके
2026 में आईपी बैन बायपास करने के तरीके सीखें हमारे विस्तृत गाइड के साथ। आधुनिक आईपी ब्लॉकिंग तकनीकों और रिजिडेंशियल प्रॉक्सी और कैप्चा सॉल्वर्स जैसे व्यावहारिक समाधानों की खोज करें।

Nikolai Smirnov
26-Jan-2026

कैप्चा कैसे हल करें ब्राउज़र4 में कैपसॉल्वर इंटीग्रेशन के साथ
उच्च बहुतायत ब्राउज़र4 स्वचालन के साथ संयोजित करें, जो बड़े पैमाने पर वेब डेटा निकास में CAPTCHA चुनौतियों का निपटारा करने के लिए CapSolver का उपयोग करता है।

Rajinder Singh
21-Jan-2026

स्क्रैपी और सीलीनियम: आपके वेब स्क्रैपिंग परियोजना के लिए कौन सा सबसे अच्छा है
स्क्रैपी और सीलेनियम के बीच ताकतों और अंतरों की खोज करें। अपने प्रोजेक्ट के लिए सबसे अच्छा टूल कौन है, इसे सीखें और कैप्चा के जैसी चुनौतियों के साथ कैसे निपटें।

Nikolai Smirnov
14-Jan-2026

सेलेनियम ड्राइवर रहित का उपयोग कैसे करें कुशल वेब स्क्रैपिंग के लिए
जानें कैसे सेलेनियम ड्राइवरलेस का उपयोग करके कुशल वेब स्क्रैपिंग करें। यह गाइड अपने वातावरण की स्थापना, अपना पहला सेलेनियम ड्राइवरलेस स्क्रिप्ट लिखना और डायनामिक सामग्री का प्रबंधन करने के चरण-दर-चरण निर्देश प्रदान करता है। पारंपरिक ड्राइवर प्रबंधन की जटिलताओं से बचकर अपने वेब स्क्रैपिंग कार्यों को सुव्यवस्थित करें, जिससे आपकी डेटा निकास प्रक्रिया सरल, तेज और अधिक पोर्टेबल बन जाती है।

Rajinder Singh
14-Jan-2026

403 अस्वीकृत त्रुटि के समाधान जब पायथन के साथ वेबसाइट्स क्रॉल करते हैं
पायथन के साथ वेबसाइटों को क्रॉल करते समय 403 अस्वीकृत त्रुटि से बचना सीखें। यह गाइड IP रोटेशन, यूजर-एजेंट स्पूफिंग, अनुरोध धीमा करना, प्रमाणीकरण का निपटारा और हेडलेस ब्राउजर का उपयोग करके पहुंच प्रतिबंध बचाना और सफल रूप से वेब स्क्रैपिंग जारी रखना शामिल करता है।

Aloísio Vítor
13-Jan-2026

एग्नो में कैप्चा हल करें कैपसॉल्वर एंटीग्रेशन के साथ
जानें कैसे कैपसॉल्वर को एग्नो के साथ एम्बेड करें ताकि आप अपने स्वायत्त एआई एजेंट्स में reCAPTCHA v2/v3, Cloudflare Turnstile, और WAF चुनौतियां हल कर सकें। वेब स्क्रैपिंग और स्वचालन के लिए वास्तविक पायथन उदाहरण शामिल हैं।

Adélia Cruz
13-Jan-2026


