
Rajinder Singh
Deep Learning Researcher

reCAPTCHA v3, गूगल की उन्नत, अदृश्य CAPTCHA, पृष्ठभूमि में संचालित होती है, उपयोगकर्ता व्यवहार का विश्लेषण करती है ताकि बॉट गतिविधि की संभावना के आधार पर एक स्कोर निर्धारित किया जा सके। v2 के विपरीत, यह उपयोगकर्ताओं को बारीकी से चुनौतियां प्रस्तुत नहीं करती है। यह उपयोगकर्ता अनुभव में सुधार करता है, लेकिन वेब ऑटोमेशन और डेटा खोज के लिए नए जटिलताएं पैदा करता है, क्योंकि पारंपरिक टोकन इंजेक्शन विधियां अक्सर अपर्याप्त होती हैं या आसानी से ओवरराइट कर दी जाती हैं।
इस लेख में Crawl4AI के साथ CapSolver के एकीकरण के बारे में विस्तृत गाइड प्रदान करते हैं, जो एक प्रभावी वेब क्रॉलर है, विशेष रूप से reCAPTCHA v3 के समाधान के लिए। हम जावास्क्रिप्ट fetch हुकिंग और ब्राउजर एक्सटेंशन एकीकरण के साथ एपीआई-आधारित समाधानों जैसे उन्नत तकनीकों का अध्ययन करेंगे, ताकि reCAPTCHA v3 से सुरक्षित साइटों से वेब डेटा निकालना सुनिश्चित किया जा सके।
reCAPTCHA v3 प्रत्येक अनुरोध के लिए उपयोगकर्ता अंतरक्रिया के बिना एक स्कोर (0.0 से 1.0 तक) लौटाता है। 0.0 का स्कोर बॉट गतिविधि की उच्च संभावना को इंगित करता है, जबकि 1.0 मानव उपयोगकर्ता को इंगित करता है। वेबसाइटें इस स्कोर का उपयोग करती हैं ताकि कार्रवाई की अनुमति दें, एक चुनौति प्रस्तुत करें या अनुरोध को अस्वीकार करें। reCAPTCHA v3 की अदृश्य प्रकृति के कारण:
fetch या XMLHttpRequest अनुरोधों के माध्यम से डायनामिक रूप से जनरेट किए जाते हैं।CapSolver की उन्नत AI क्षमताएं reCAPTCHA v3 टोकन के साथ उच्च स्कोर के साथ वैध reCAPTCHA v3 टोकन प्राप्त करने के लिए महत्वपूर्ण हैं। Crawl4AI के साथ जोड़े जाने पर, यह विकासकर्ताओं को इन चुनौतियों का सामना करने और अवरोध रहित डेटा प्रवाह बनाए रखने में सक्षम बनाता है।
💡 Crawl4AI एकीकरण उपयोगकर्ताओं के लिए अपना विशेष बोनस:
इस एकीकरण के उत्सव के रूप में, हम सभी CapSolver उपयोगकर्ताओं के लिए एक विशेष 6% बोनस कोड —CRAWL4प्रदान कर रहे हैं जो इस पाठ्यक्रम के माध्यम से पंजीकृत हैं।
बैलेंस जोड़ते समय डैशबोर्ड में कोड दर्ज करें ताकि तुरंत 6% क्रेडिट अतिरिक्त प्राप्त करें।
v2 के मुकाबले, API एकीकरण के माध्यम से reCAPTCHA v3 को पार करने के लिए एक अधिक उन्नत दृष्टिकोण की आवश्यकता होती है, मुख्य रूप से इसकी अदृश्य प्रकृति और डायनामिक टोकन सत्यापन के कारण। मुख्य रणनीति एक अदृश्य reCAPTCHA v3 टोकन प्राप्त करना है और फिर ब्राउजर में window.fetch विधि को हुक करना है ताकि सत्यापन के ठीक समय पर CapSolver-प्रदान किए गए टोकन को मूल reCAPTCHA v3 टोकन के स्थान पर बदल दिया जा सके।
gRecaptchaResponse टोकन और संभवतः उच्च स्कोर प्राप्त होगा।js_code में CrawlerRunConfig के माध्यम से जावास्क्रिप्ट कोड इंजेक्ट करता है जो window.fetch विधि को ओवरराइट करता है।fetch अनुरोधों को अवरुद्ध करता है। जब reCAPTCHA v3 सत्यापन एंडपॉइंट (उदाहरण के लिए, /recaptcha-v3-verify.php) के लिए एक अनुरोध का पता लगाया जाता है, तो जावास्क्रिप्ट अनुरोध में CapSolver-प्रदान किए गए टोकन को शामिल करता है, जबकि पृष्ठ द्वारा जनरेट किए गए किसी भी टोकन के स्थान पर।निम्नलिखित पायथन कोड reCAPTCHA v3 के समाधान के लिए CapSolver के API के साथ Crawl4AI के एकीकरण के लिए इस उन्नत तकनीक को दर्शाता है। इस उदाहरण में reCAPTCHA v3 डेमो पृष्ठ का उपयोग किया गया है।
import asyncio
import capsolver
from crawl4ai import *
# TODO: अपना कॉन्फ़िग सेट करें
api_key = "CAP-xxxxxxxxxxxxxxxxxxxxx" # आपका capsolver का एपीआई कुंजी
site_key = "6LdKlZEpAAAAAAOQjzC2v_d36tWxCl6dWsozdSy9" # आपके लक्ष्य साइट का साइट कुंजी
site_url = "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php" # आपके लक्ष्य साइट का पृष्ठ URL
page_action = "examples/v3scores" # आपके लक्ष्य साइट का पृष्ठ क्रिया
captcha_type = "ReCaptchaV3TaskProxyLess" # आपके लक्ष्य कैप्चा के प्रकार
capsolver.api_key = api_key
async def main():
browser_config = BrowserConfig(
verbose=True,
headless=False,
use_persistent_context=True,
)
# capsolver sdk के माध्यम से reCAPTCHA टोकन प्राप्त करें
solution = capsolver.solve({
"type": captcha_type,
"websiteURL": site_url,
"websiteKey": site_key,
"pageAction": page_action,
})
token = solution["gRecaptchaResponse"]
print("reCAPTCHA टोकन:", token)
async with AsyncWebCrawler(config=browser_config) as crawler:
await crawler.arun(
url=site_url,
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
js_code = """
const originalFetch = window.fetch;
window.fetch = function(...args) {
if (typeof args[0] === \'string\' && args[0].includes(\'/recaptcha-v3-verify.php\')) {
const url = new URL(args[0], window.location.origin);
url.searchParams.set(\'action\', \""" + token + """\");
args[0] = url.toString();
document.querySelector(\".token\").innerHTML = \"fetch(\\'/recaptcha-v3-verify.php?action=examples/v3scores&token="""+token+"""\')\";
console.log(\'Fetch URL hooked:\', args[0]);
}
return originalFetch.apply(this, args);
};
"""
wait_condition = """() => {
return document.querySelector(\".step3:not(.hidden)\");
}"""
run_config = CrawlerRunConfig(
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test",
js_code=js_code,
js_only=True,
wait_for=f"js:{wait_condition}"
)
result_next = await crawler.arun(
url=site_url,
config=run_config,
)
print(result_next.markdown)
if __name__ == "__main__":
asyncio.run(main())
कोड विश्लेषण:
solve कॉल: capsolver.solve विधि को ReCaptchaV3TaskProxyLess प्रकार, websiteURL, websiteKey और महत्वपूर्ण रूप से pageAction के साथ कॉल किया जाता है। pageAction पैरामीटर reCAPTCHA v3 के लिए आवश्यक है क्योंकि यह CapSolver को पृष्ठ पर reCAPTCHA के संदर्भ को समझने में मदद करता है और एक अधिक सटीक टोकन जनरेट करता है।fetch हुक: js_code इस समाधान का केंद्र है। यह window.fetch को पुनर्निर्मित करता है। जब /recaptcha-v3-verify.php पर fetch अनुरोध किया जाता है, तो स्क्रिप्ट इसे अवरुद्ध करती है, URL को action पैरामीटर में CapSolver-प्रदान किए गए token के साथ संशोधित करती है, और फिर मूल fetch आगे बढ़ती है। इससे सर्वर को CapSolver से उच्च-स्कोर टोकन प्राप्त होता है।wait_for शर्त: wait_condition Crawl4AI को एक विशिष्ट तत्व (.step3:not(.hidden)) के दृश्य होने तक प्रतीक्षा करने के लिए सुनिश्चित करता है, जो इंगित करता है कि reCAPTCHA v3 सत्यापन प्रक्रिया सफलतापूर्वक पूर्ण हो गई है और पृष्ठ आगे बढ़ गया है।reCAPTCHA v3 के लिए, CapSolver ब्राउजर एक्सटेंशन का उपयोग करके एकीकरण प्रक्रिया सरल हो सकती है, विशेष रूप से जब उद्देश्य एक्सटेंशन की स्वचालित समाधान क्षमताओं का उपयोग करना हो। एक्सटेंशन को बैकग्राउंड में reCAPTCHA v3 का पता लगाने और हल करने के लिए डिज़ाइन किया गया है, जो आमतौर पर वेबसाइट पर जाने पर ट्रिगर होता है।
user_data_dir का उपयोग करके एक ब्राउजर इंस्टेंस लॉन्च करने के लिए कॉन्फ़िगर करें जो स्थापित CapSolver एक्सटेंशन के साथ बना रहता है।manualSolving को false (या डिफ़ॉल्ट) होना चाहिए।इस उदाहरण में Crawl4AI को एक ब्राउजर प्रोफ़ाइल का उपयोग करने के लिए कॉन्फ़िगर करना दिखाया गया है जिसमें CapSolver एक्सटेंशन होता है, जो स्वचालित reCAPTCHA v3 समाधान के लिए डिज़ाइन किया गया है। महत्वपूर्ण बात यह है कि एक्सटेंशन को user_data_dir में सही तरह से सेटअप करना है।
import asyncio
import time
from crawl4ai import *
# TODO: अपना कॉन्फ़िग सेट करें
user_data_dir = "/browser-profile/Default1" # सुनिश्चित करें कि इस पथ को सही रूप से सेट किया गया है और आपके द्वारा कॉन्फ़िगर किए गए एक्सटेंशन के साथ एक ब्राउजर प्रोफ़ाइल है
browser_config = BrowserConfig(
verbose=True,
headless=False,
user_data_dir=user_data_dir,
use_persistent_context=True,
proxy="http://127.0.0.1:13120", # आवश्यकता होने पर प्रॉक्सी कॉन्फ़िगर करें
)
async def main():
async with AsyncWebCrawler(config=browser_config) as crawler:
result_initial = await crawler.arun(
url="https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php", # reCAPTCHA v3 डेमो URL का उपयोग करें
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
# reCAPTCHA v3 आमतौर पर एक्सटेंशन द्वारा पृष्ठ लोड होने पर स्वचालित रूप से हल कर दिया जाता है।
# आपको समाधान के बाद आगे के कार्यों के लिए एक वाइट शर्त या time.sleep जोड़ने की आवश्यकता हो सकती है जो कैप्चा के समाधान के लिए आवश्यक हो।
time.sleep(30) # उदाहरण के लिए वाइट, एक्सटेंशन के काम करने के लिए आवश्यकता होने पर समायोजित करें
# कैप्चा के समाधान के बाद Crawl4AI के अन्य कार्यों के साथ जारी रखें
# उदाहरण के लिए, सफल सत्यापन के बाद दिखाई देने वाले तत्वों या सामग्री की जांच करें
# print(result_initial.markdown) # आप वाइट के बाद पृष्ठ सामग्री की जांच कर सकते हैं
if __name__ == "__main__":
asyncio.run(main())
कोड विश्लेषण:
user_data_dir: reCAPTCHA v2 एक्सटेंशन एकीकरण के समान, यह पैरामीटर Crawl4AI के लिए महत्वपूर्ण है कि एक ब्राउजर प्रोफ़ाइल का उपयोग करें जिसमें पहले से स्थापित और कॉन्फ़िगर किया गया CapSolver एक्सटेंशन हो। एक्सटेंशन फिर reCAPTCHA v3 के समाधान को स्वचालित रूप से हल करेगा।time.sleep को एक सामान्य स्थानापन्न के रूप में शामिल किया गया है ताकि एक्सटेंशन अपने पृष्ठभूमि कार्यों को पूरा कर सके। अधिक मजबूत समाधान के लिए, Crawl4AI के wait_for कार्यक्षमता का उपयोग करके विशिष्ट पृष्ठ बदलावों की जांच करने की सिफारिश की जाती है जो सफल reCAPTCHA v3 समाधान के लिए संकेत देते हैं।वेब खोज में reCAPTCHA v3 के समाधान के लिए एक जटिल दृष्टिकोण की आवश्यकता होती है, क्योंकि इसकी अदृश्य प्रकृति और डायनामिक सत्यापन तकनीकों के कारण। Crawl4AI के साथ CapSolver के एकीकरण इन चुनौतियों का सामना करने के लिए शक्तिशाली उपकरण प्रदान करते हैं। जावास्क्रिप्ट fetch हुकिंग के साथ API एकीकरण के सटीक नियंत्रण के माध्यम से या ब्राउजर एक्सटेंशन द्वारा प्रदान किए गए बहुत सुविधाजनक स्वचालन के माध्यम से, विकासकर्ता अपने वेब खोज कार्यकलापों को अवरोध रहित रख सकते हैं।
CapSolver की उच्च-सटीक reCAPTCHA v3 समाधान क्षमताओं और Crawl4AI के उन्नत ब्राउजर नियंत्रण के उपयोग से, आप इस उन्नत CAPTCHA से सुरक्षित वेबसाइटों से डेटा निकालने की उच्च सफलता दर बनाए रख सकते हैं। इस संयोजन ने विकासकर्ताओं को अधिक विश्वसनीय और विश्वसनीय स्वचालित वेब डेटा संग्रह प्रणालियां बनाने में सक्षम बनाया है।
सीखें अनगिनत कैप्चा को बिना रुके हुए हल करें सबसे अच्छे कैप्चा सॉल्वर के साथ, एक विस्तृत गाइड जो कैप्चा समाधानों के सेटअप और स्वचालन के बारे में है

इस गाइड में नोड.जे.एस और समाधान टूल के उपयोग के माध्यम से reCAPTCHA v2 और v3 को आसानी से हल करना सीखें। आज अपने ऑटोमेशन खेल को बढ़ाएं!
