Undetected फ़िंगरप्रिंट ब्राउज़र पर Crawl4AI कैसे चलाएं
Advanced Data Extraction Specialist
TL;DR:
- Crawl4AI पहले से ही Chrome DevTools प्रोटोकॉल बोलता है, इसलिए इसे Scrapeless पर पॉइंट करना एक दो-लाइन परिवर्तन है।
browser_mode="cdp"सेट करें औरcdp_urlको Scrapeless WebSocket एंडपॉइंट पर सेट करें, और हरarun()क्रॉल एक क्लाउड ब्राउज़र पर चलेगा न कि स्थानीय Chromium पर। - एक स्थानीय Crawl4AI ब्राउज़र तीन धुरियों पर स्वचालन लीक करता है:
navigator.webdriverरूप, हेडलेस-डिफॉल्ट फिंगरप्रिंट, और आपकी अपनी निकासी IP। एंटी-बॉट सिस्टम इन तीनों को एक साथ स्कोर करते हैं। - Scrapeless स्क्रैपिंग ब्राउज़र सभी तीनों सर्वर-साइड पर उत्तर देता है — असली आत्म-विकसित Chromium, बिना
webdriverबताने वाला एक लगातार प्रति-सेशन फिंगरप्रिंट, और 195+ देशों में आवासीय निकासी। - आपकी क्रॉलर लॉजिक अपरिवर्तित है। निष्कर्षण रणनीतियाँ,
CrawlerRunConfig, चंकिंग, और मार्कडाउन आउटपुट सभी ठीक उसी तरह काम करते हैं जैसे वे स्थानीय रूप से करते हैं; केवल ब्राउज़र स्रोत स्थानांतरित होता है। - सत्यापित लाइव: Scrapeless क्लाउड ब्राउज़र पर एक Crawl4AI क्रॉल ने HTTP 200 लौटाया और 11,000 से अधिक अक्षरों का साफ़ मार्कडाउन, और एक अलग जांच ने अमेरिका के आवासीय IP पर
navigator.webdriverकोfalseपढ़ा। - शुरू करने के लिए स्वतंत्र। नए Scrapeless खाते मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम शामिल करते हैं - app.scrapeless.com पर साइन अप करें।
परिचय: Crawl4AI को एक ऐसा ब्राउज़र दें जो साफ पढ़ता है
Crawl4AI एक असली Chromium को Playwright के माध्यम से चलाता है ताकि पन्नों को LLM-तैयार मार्कडाउन में परिवर्तित किया जा सके। इसे आपके अपने मशीन पर एक ब्राउज़र के खिलाफ चलाएँ और हर क्रॉल उन संकेतों को विरासत में लेता है जो स्वचालन को स्पष्ट बनाते हैं: यह the navigator.webdriver property के माध्यम से खुद की घोषणा करता है, हेडलेस-डिफॉल्ट फ़ॉन्ट और कैनवास व्यवहार भेजता है, और एक IP से बाहर निकलता है जिसे प्रतिष्ठा सेवाएँ पहले से पहचानती हैं।
आप स्थानीय रूप से इनमें से प्रत्येक को पैच कर सकते हैं, फिर जैसे-जैसे Chromium और डिटेक्टर्स आगे बढ़ते हैं, उन्हें पैच करते रहें। एक छोटा रास्ता है। Crawl4AI किसी भी ब्राउज़र से जुड़े रह सकता है जो Chrome DevTools प्रोटोकॉल को अपने cdp_url सेटिंग के माध्यम से बोलता है, और Scrapeless स्क्रैपिंग ब्राउज़र एक CDP एंडपॉइंट है जिसे एक WebSocket URL के माध्यम से पहुँचा जाता है। Crawl4AI को इसकी ओर इंगित करें और फिंगरप्रिंट, व्यवहारिक सतह, और निकासी IP सर्वर-साइड पर स्थानांतरित हो जाते हैं — क्रॉलर कोड वहीं रहता है।
आप इसके साथ क्या कर सकते हैं
- एंटी-बॉट-प्रोटेक्टेड पृष्ठों को क्रॉल करें — क्लाउड ब्राउज़र रेंडर के दौरान चुनौतियों को साफ करता है, इसलिए
arun()सामग्री लौटाता है न कि एक इंटरस्टिशियल। - क्रॉल को स्थानीयकृत करें —
proxyCountryको पिन करें ताकि एक पृष्ठ उस बाजार में एक आगंतुक की तरह हल हो सके। - एक सुसंगत फिंगरप्रिंट भेजें — एक
fingerprintऑब्जेक्ट पास करें ताकि उपयोगकर्ता एजेंट, प्लेटफ़ॉर्म, स्क्रीन, और समय क्षेत्र चलन के दौरान सुसंगत रहें। - लॉगिन राज्य को पुन: उपयोग करें — एक
profileIdले जाएं ताकि कुकीज़ और स्थानीय भंडारण क्रॉल के बीच बने रहें। - अपने लैपटॉप से परे स्केल करें — सत्र क्लाउड में चलते हैं, इसलिए URLs का एक बैच एक स्थानीय Chromium पर बंधा नहीं है।
- निष्कर्षण को अपरिवर्तित रखें — CSS/XPath रणनीतियाँ, LLM निष्कर्षण, और मार्कडाउन जनरेशन समान रूप से व्यवहार करते हैं।
Scrapeless स्क्रैपिंग ब्राउज़र क्यों
Scrapeless स्क्रैपिंग ब्राउज़र एक कस्टमाइज़ेबल, एंटी-डिटेक्शन क्लाउड ब्राउज़र है जो वेब क्रॉलर्स और AI एजेंटों के लिए डिज़ाइन किया गया है। Crawl4AI के लिए विशेष रूप से, यह लाता है:
- वास्तविक आत्म-विकसित Chromium जो पृष्ठ JavaScript को ठीक वैसे ही चलाता है जैसे Chrome, इसलिए ग्राहक-निर्मित सामग्री
arun()पढ़ने से पहले संलग्न होती है। - एक लगातार प्रति-सेशन फिंगरप्रिंट — कोई
navigator.webdriverबताने वाला नहीं, कोई हेडलेस डिफ़ॉल्ट लीक नहीं। - 195+ देशों में आवासीय निकासी, प्रति सत्र एक
proxyCountryमान के साथ चयनित। profileIdके माध्यम से सत्र स्थिरता, ताकि प्रमाणीकरण वाला क्रॉल अपनी स्थिति बनाए रख सके।- एक कनेक्शन सतह — हर विकल्प उसी WebSocket एंडपॉइंट पर एक प्रश्न पैरामीटर है।
app.scrapeless.com पर मुफ्त योजना पर अपना API कुंजी प्राप्त करें।
पूर्वापेक्षाएँ
- Python 3.10 या नया
asyncioके साथ - Crawl4AI स्थापित (
pip install crawl4ai) - एक Scrapeless खाता और API टोकन — app.scrapeless.com पर साइन अप करें
नीचे दिए गए उदाहरणों को एक लाइव Scrapeless सत्र के खिलाफ सत्यापित किया गया है। पूर्ण कनेक्शन विवरण Crawl4AI एकीकरण डॉक में हैं।
स्थापित करें
Crawl4AI अपना खुद का Playwright/CDP समर्थन लाता है, इसलिए एकीकरण को किसी अतिरिक्त ब्राउज़र पैकेज की आवश्यकता नहीं है।
bash
pip install crawl4ai python-dotenv
export SCRAPELESS_TOKEN=your_api_token_here # मुफ्त कुंजी https://app.scrapeless.com पर
कनेक्शन कॉन्फ़िगर करें
स्क्रैपलेस एंडपॉइंट wss://browser.scrapeless.com/api/v2/browser है, और प्रत्येक विकल्प एक क्वेरी पैरामीटर है। एक बार URL बनाएं और इसे BrowserConfig को सौंप दें।
python
import os
from urllib.parse import urlencode
def scrapeless_cdp_url() -> str:
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionName": "Crawl4AI",
"sessionTTL": 180000, # मिलीसेकंड
"proxyCountry": "US",
}
return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
क्लाउड ब्राउज़र पर बुनियादी क्रॉल
browser_mode="cdp" सेट करें और cdp_url पास करें। सबकुछ बाकी - क्रॉलर लाइफसाइकल, CrawlerRunConfig, मार्कडाउन परिणाम - मानक Crawl4AI है।
python
import asyncio
import os
from urllib.parse import urlencode
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig
def scrapeless_cdp_url() -> str:
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionName": "Crawl4AI",
"sessionTTL": 180000, # मिलीसेकंड
"proxyCountry": "US",
}
return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
async def main() -> None:
async with AsyncWebCrawler(
config=BrowserConfig(
headless=True,
browser_mode="cdp",
cdp_url=scrapeless_cdp_url(),
)
) as crawler:
result = await crawler.arun(
url="https://www.scrapeless.com/en",
config=CrawlerRunConfig(wait_for="css:body", scan_full_page=True),
)
print("status:", result.status_code)
print("title:", result.metadata.get("title"))
print("markdown chars:", len(result.markdown.raw_markdown))
asyncio.run(main())
इस क्रॉल के एक लाइव रन ने status: 200, पृष्ठ शीर्षक Effortless Web Scraping Toolkit - Scrapeless, और 11,000 से अधिक क्लीन मार्कडाउन वर्ण लौटाए - वही परिणाम वस्तु जो Crawl4AI स्थानीय रूप से उत्पन्न करता है, बादल ब्राउज़र के माध्यम से।
अपनी API कुंजी मुफ्त योजना पर प्राप्त करें: app.scrapeless.com
एक सुसंगत फिंगरप्रिंट भेजें
एक fingerprint वस्तु ब्राउज़र की विज्ञापित पहचान को सुसंगत रखती है - उपयोगकर्ता एजेंट, प्लेटफ़ॉर्म, स्क्रीन, भाषा, और समय क्षेत्र सभी सहमत हैं, जो एंटी-बॉट स्कोरिंग के लिए जांचता है। इसे JSON में एनकोड करें, फिर इसे एक और क्वेरी पैरामीटर के रूप में पास करें। W3C वेबड्राइवर विनिर्देश मानक स्वचालन को webdriver झंडा सेट करने की आवश्यकता है; बादल ब्राउज़र इसे ले नहीं जाता, इसलिए सुसंगत फिंगरप्रिंट के पास इसके अलावा कोई सही परिग्रहण नहीं होता है।
python
import json
from urllib.parse import quote, urlencode
def fingerprint_cdp_url() -> str:
fingerprint = {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
"platform": "Windows",
"screen": {"width": 1920, "height": 1080},
"localization": {"languages": ["en-US", "en"], "timezone": "America/New_York"},
}
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionTTL": 180000,
"fingerprint": quote(json.dumps(fingerprint)),
}
return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
क्रॉल को चुने हुए क्षेत्र के माध्यम से रूट करें
proxyCountry को एक ISO देश कोड में बदलें ताकि आवासीय निकासी का चयन किया जा सके; सत्यापन के दौरान एक IP-इको एंडपॉइंट के खिलाफ जांच ने पुष्टि की कि निकासी IP एक अमेरिकी आवासीय पते था और navigator.webdriver को false के रूप में पढ़ा गया।
python
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionTTL": 180000,
"proxyCountry": "DE", # या "US", "JP", "ANY"
}
जहां स्थानीय क्रोमियम रुकता है
अपने स्वयं के क्रोमियम पर Crawl4AI चलाना खुले, संरक्षित पृष्ठों के लिए ठीक है। घर्षण तब शुरू होता है जब लक्ष्य ब्राउज़र के स्कोर करता है: एक क्लाइंट-निर्मित एप्लिकेशन जो कभी भी अपने सामग्री को एक हेडलेस डिफ़ॉल्ट में संलग्न नहीं करता, एक चुनौती इंटरस्टीटियल जो डेटा केंद्र IP पर रुकता है, या एक लॉगिन दीवार जो विज़िट के बीच एक स्थिर पहचान चाहती है। इनमें से प्रत्येक एक फिंगरप्रिंट, व्यवहार, या IP समस्या है - ठीक वही तीन जो बादल ब्राउज़र सर्वर-साइड संभालता है। ब्राउज़र को स्क्रैपलेस में ले जाना उन मामलों को प्रबंधित सत्र को सौंप देता है जबकि आपका arun() कॉल और निष्कर्षण रणनीतियाँ समान रहती हैं।
आपको क्या वापस मिलता है
परिणाम मानक Crawl4AI वस्तु है - status_code, metadata, markdown, links, media, और कोई भी संरचित निष्कर्षण जो आपने कॉन्फ़िगर किया है। बादल ब्राउज़र पर इसे चलाने से कुछ ईमानदार टिप्पणियां:
navigator.webdriverअनुपस्थित है, इसलिए साइट द्वारा चलाया गया पहला जांच एक असली क्रोम के रूप में पढ़ता है।- यहां
sessionTTLमिलीसेकंड में है - Crawl4AI का CDP मोड मान को सीधे पास करता है, इसलिए180000तीन मिनट है, 180 नहीं। - निकास आईपी
proxyCountryके साथ मेल खाता है — जियो-गेटेड पृष्ठ स्थानीय आगंतुक के दृश्य के रूप में हल होते हैं। wait_forअभी भी तैयारी को नियंत्रित करता है — एक CSS शर्त (css:body, एक सामग्री चयनकर्ता) का उपयोग करें ताकिarun()क्लाइंट रेंडर अटेच होने के बाद पृष्ठ को पढ़े, न कि पहले।
निष्कर्ष: वही क्रॉलर, साफ़ ब्राउज़र
Crawl4AI यह तय करता है कि क्या निकालना है; Scrapeless यह तय करता है कि ब्राउज़र साइट के लिए कैसा दिखता है। इंटीग्रेशन दो सेटिंग्स हैं — browser_mode="cdp" और एक cdp_url — और आपके पाइपलाइन का बाकी हिस्सा बिना छेड़छाड़ के है। proxyCountry को एक आवासीय क्षेत्र पर पिन करें, एक संगत fingerprint पास करें, और प्रमाणित क्रॉल के लिए एक profileId को फिर से उपयोग करें। एक अन्य Python स्क्रैपिंग पुस्तकालय को उसी क्लाउड ब्राउज़र से जोड़ने के लिए, Scrapling प्रोडक्शन-스크्रैपर गाइड देखें, और Scrapeless प्राइसिंग पन्ना पर योजनाओं की तुलना करें।
क्या आप अपने एआई-संचालित क्रॉलिंग पाइपलाइन बनाने के लिए तैयार हैं?
हमारी समुदाय से जुड़ें एक मुफ्त योजना का दावा करने और डेवलपर्स के साथ जुड़ने के लिए जो Crawl4AI पाइपलाइनों का निर्माण कर रहे हैं: Discord · Telegram。
app.scrapeless.com पर मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम के लिए साइन अप करें और Crawl4AI का cdp_url उस क्लाउड ब्राउज़र पर इंगित करें जिसे आपके लक्ष्य पहचान नहीं सकते।
अक्सर पूछे जाने वाले प्रश्न
प्रश्न: क्या मुझे Crawl4AI निकासी कोड बदलने की आवश्यकता है?
नहीं। आप ब्राउज़र को बनाने के तरीके को बदलते हैं — browser_mode="cdp" और एक cdp_url — और क्रॉलर जीवनचक्र, CrawlerRunConfig, निकासी रणनीतियाँ, और मार्कडाउन आउटपुट बिल्कुल वैसे ही रहते हैं।
प्रश्न: क्यों न सिर्फ स्थानीय क्रोमियम पर Crawl4AI चलाएं?
स्थानीय क्रोमियम आपके आईपी पर चलता है, navigator.webdriver के माध्यम से स्वचालन की घोषणा करता है, और आपको स्टील्थ पैच बनाए रखने की आवश्यकता होती है। क्लाउड ब्राउज़र एक प्रबंधित सत्र है जिसमें बंडल की गई आवासीय निकासी और एक सुसंगत फिंगरप्रिंट होता है — वही क्रॉलर एपीआई, कोई रखरखाव नहीं।
प्रश्न: क्या मुझे एक प्रॉक्सी की आवश्यकता है?
नहीं। आवासीय निकासी बिल्ट-इन है — proxyCountry को एक क्षेत्र या ANY पर सेट करें। कॉन्फ़िगर करने के लिए कोई अलग प्रॉक्सी नहीं है।
प्रश्न: क्या sessionTTL सेकंड में है या मिलीसेकंड में?
Crawl4AI के CDP मोड में मान मिलीसेकंड में पास किया जाता है, इसलिए 180000 का अर्थ है तीन मिनट। इसे पूरी क्रॉल को कवर करने के लिए पर्याप्त लंबा सेट करें।
प्रश्न: क्या Crawl4AI के साथ वेब स्क्रैपिंग वैध है?
सार्वजनिक रूप से उपलब्ध डेटा तक पहुंच आम तौर पर अनुमति है, लेकिन नियम क्षेत्राधिकार और साइट के अनुसार भिन्न होते हैं। लक्ष्य की सेवा की शर्तों की समीक्षा करें, रोबोट निर्देशों का सम्मान करें, और किसी भी संवेदनशील मामले के लिए सलाह लें।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



