वेब स्क्रैपिंग करते समय क्लाउडफ्लेयर टर्नस्टाइल को कैसे हल करें
Specialist in Anti-Bot Strategies
संक्षेप में:
- क्लाउडफ्लेयर टर्नस्टाइल ब्राउज़र को स्कोर करता है, उपयोगकर्ता को नहीं। यह बैकग्राउंड में फिंगरप्रिंट स्थिरता, व्यवहारिक संकेतों और निकास IP को पढ़ता है, फिर एक ऐसा ब्राउज़र जिसे वह विश्वास करता है, को
cf_clearanceकुकी जारी करता है — इसलिए समाधान एक विश्वसनीय ब्राउज़र होना है, पहेली का उत्तर देना नहीं। - एक स्थानीय हेडलेस ब्राउज़र एक साथ तीन धुरियों पर टर्नस्टाइल में विफल होता है:
navigator.webdriverकी सूचना, हेडलेस-डिफ़ॉल्ट फिंगरप्रिंट, और डेटा सेंटर से निकास IP। तीनों को हाथ से पैच करना एक रखरखाव का काम है। - स्क्रैपलेस स्क्रैपिंग ब्राउज़र रेंडर के दौरान टर्नस्टाइल को पार करता है — असली स्व-विकसित क्रोमियम, हर सेशन के लिए एक स्थिर फिंगरप्रिंट, और 195+ देशों में आवासीय निकास, एक ही वेब सॉकेट एंडपॉइंट पर पहुंचा।
- आपका ऑटोमेशन कोड अपरिवर्तित है। यह CDP से बात करता है, इसलिए
puppeteer.connect()औरchromium.connectOverCDP()जैसा है; आप कनेक्शन को क्लाउड ब्राउज़र पर इंगित करते हैं और चुनौती के बाद DOM पढ़ते हैं। - टर्नस्टाइल तीन मोड में आता है — गैर-इंटरैक्टिव, अदृश्य, और प्रबंधित चेकबॉक्स — और तीनों एक सफल ब्राउज़र पर समान
cf_clearanceअनुदान में समाप्त होते हैं। - शुरू करने के लिए स्वतंत्र। नए स्क्रैपलेस खातों में मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम शामिल है — app.scrapeless.com पर साइन अप करें।
परिचय: टर्नस्टाइल ब्राउज़र को स्कोर करता है, पहेली को नहीं
क्लाउडफ्लेयर टर्नस्टाइल एक छवि CAPTCHA नहीं है। यह बैकग्राउंड में चलता है और उस ब्राउज़र को ग्रेड करता है जिसने पेज लोड किया: क्या फिंगरप्रिंट आंतरिक रूप से स्थिर है, क्या इंटरैक्शन संकेत मानव की तरह दिखते हैं, और क्या निकास IP की एक साफ़ प्रतिष्ठा है। जब स्कोर पास होता है, क्लाउडफ्लेयर एक cf_clearance कुकी सेट करता है और असली पेज लोड होता है। जब ऐसा नहीं होता है, तो आपको सामग्री के बजाय एक इंटरस्टिशियल मिलता है।
यह "टर्नस्टाइल को हल करने" का अर्थ बदलता है। जमा करने के लिए कोई उत्तर नहीं है — काम एक ऐसा ब्राउज़र पेश करना है जिस पर क्लाउडफ्लेयर पहले से विश्वास करता है। एक स्थानीय हेडलेस क्रोमियम ऐसा नहीं कर सकता: यह navigator.webdriver प्रॉपर्टी के माध्यम से ऑटोमेशन की घोषणा करता है, हेडलेस-डिफ़ॉल्ट फ़ॉन्ट और कैनवास व्यवहार के साथ आता है, और एक ऐसा IP से बाहर निकलता है जिसके बारे में पहले से ही प्रतिष्ठा सेवाएं जानती हैं। आप उन सभी को स्थानीय रूप से पैच कर सकते हैं और फिर Chromium और डिटेक्टर्स के बदलने के साथ-साथ पैच करते रह सकते हैं।
यह गाइड छोटा रास्ता अपनाता है: स्क्रैपलेस स्क्रैपिंग ब्राउज़र का उपयोग करें — एक एंटी-डिटेक्शन क्लाउड ब्राउज़र — जो पहले से आप उपयोग कर रहे Puppeteer या Playwright के साथ ड्राइव करें, ताकि फिंगरप्रिंट, व्यवहारिक सतह और निकास IP सर्वर-साइड संभाले जाएं और टर्नस्टाइल सामान्य रेंडर के दौरान साफ हो जाए।
टर्नस्टाइल वास्तव में क्या जांचता है
क्लाउडफ्लेयर का टर्नस्टाइल दस्तावेज़ीकरण एक ऐसे विजेट का वर्णन करता है जो आगंतुकों को बिना उन्हें बाधित किए सत्यापित करता है। व्यवहार में यह तीन मोड में आता है, और वही क्लाउड ब्राउज़र सभी को संभालता है क्योंकि यह एक सुसंगत वास्तविक ब्राउज़र प्रस्तुत करता है न कि एक पैच किए गए ब्राउज़र के:
| मोड | आगंतुक क्या देखते हैं | यह क्या स्कोर करता है |
|---|---|---|
| गैर-इंटरैक्टिव | बिना क्लिक के सत्यापन करने वाला विजेट | फिंगरप्रिंट + निष्क्रिय व्यवहारिक संकेत |
| अदृश्य | कुछ भी नहीं रेंडर किया गया | शुद्ध बैकग्राउंड स्कोरिंग |
| प्रबंधित | "आप मानव हैं, यह सत्यापित करें" चेकबॉक्स | उपरोक्त के साथ-साथ एक इंटरैक्शन इवेंट |
तीनों cf_clearance कुकी में हल हो जाते हैं — एक मानक HTTP कुकी — जो उस ब्राउज़र पर सेट की जाती है जिसने पास किया। टर्नस्टाइल आईईटीएफ प्राइवेसी पास इश्यूंस प्रोटोकॉल में परिभाषित प्राइवेसी पास-शैली टोकन पर भी निर्भर करता है जो यह कारण है कि एक सुसंगत, विश्वसनीय ब्राउज़र किसी भी एकल बचाव से अधिक महत्वपूर्ण है।
क्यों स्क्रैपलेस स्क्रैपिंग ब्राउज़र
स्क्रैपलेस स्क्रैपिंग ब्राउज़र एक अनुकूलन योग्य, एंटी-डिटेक्शन क्लाउड ब्राउज़र है जिसे वेब क्रॉलर्स और एआई एजेंटों के लिए डिज़ाइन किया गया है। टर्नस्टाइल के लिए विशेष रूप से, यह लाता है:
- वास्तविक स्व-विकसित क्रोमियम जो विजेट का जावास्क्रिप्ट ठीक उसी तरह चलाता है जैसे क्रोम, इसलिए चुनौती हल होती है इसके बजाय रुकने के।
- एक स्थिर प्रति-सेशन फिंगरप्रिंट — कोई
navigator.webdriverकी सूचना नहीं, हेडलेस डिफ़ॉल्ट्स के माध्यम से बिना रिसाव के। - 195+ देशों में आवासीय निकास — टर्नस्टाइल निकास IP को स्कोर करता है, और एक आवासीय क्षेत्र साफ पढ़ता है जहाँ डेटा सेंटर का IP ऐसा नहीं करता।
- सेशन निरंतरता ताकि एक
cf_clearanceअनुदान को उसी सेशन में अनुरोधों के बीच पुन: उपयोग किया जा सके। - एक कनेक्शन सतह — हर विकल्प एक ही वेब सॉकेट एंडपॉइंट पर एक खोजें पैरामीटर है।
app.scrapeless.com पर मुफ्त योजना पर अपना API कुंजी प्राप्त करें।
आवश्यकताएँ
- Node.js 18 या नया
- एक स्क्रैपलेस खाता और API कुंजी — app.scrapeless.com पर साइन अप करें
- Puppeteer या Playwright और टर्मिनल के साथ बुनियादी परिचय
नीचे दिए गए उदाहरणों को स्क्रैपिंग ब्राउज़र के प्रलेखित CDP सतह के खिलाफ सत्यापित किया गया है। इन्हें अंत से अंत तक चलाने के लिए एक लाइव स्क्रैपलेस सत्र की आवश्यकता होती है; प्रत्येक को निष्पादित करने के लिए अपना एपीआई कुंजी जोड़ें। पूर्ण कनेक्शन विवरण स्क्रैपिंग ब्राउज़र प्रलेखन में उपलब्ध है।
इंस्टॉल करें
bash
npm install puppeteer-core # या: playwright-core
export SCRAPELESS_API_KEY=sk_... # निःशुल्क कुंजी पर https://app.scrapeless.com
कनेक्शन को कॉन्फ़िगर करें
सभी चीजें wss://browser.scrapeless.com/api/v2/browser पर एक क्वेरी पैरामीटर हैं। proxyCountry को एक आवासीय क्षेत्र पर पिन करें, क्योंकि टर्नस्टाइल निकासी आईपी को अंकित करता है।
javascript
import puppeteer from "puppeteer-core";
const params = new URLSearchParams({
token: process.env.SCRAPELESS_API_KEY,
sessionTTL: "180",
proxyCountry: "US",
});
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://browser.scrapeless.com/api/v2/browser?${params}`,
});
टर्नस्टाइल को साफ करें और टोकन पढ़ें
स्क्रैपलेस स्क्रैपिंग ब्राउज़र स्वचालित रूप से रेंडर के दौरान टर्नस्टाइल को हल करता है — इसे हल करने के लिए कोई स्पष्ट कॉल करने की आवश्यकता नहीं है। आप नेविगेट करते हैं, फिर टोकन के प्रकट होने की प्रतीक्षा करते हैं, जो संकेत है कि विजेट हल हो गया है। आगे की स्क्रैपिंग आपके ऊपर है।
javascript
import puppeteer from "puppeteer-core";
const TARGET = "https://www.scrapingcourse.com/cloudflare-challenge";
const params = new URLSearchParams({
token: process.env.SCRAPELESS_API_KEY,
sessionTTL: "180",
proxyCountry: "US",
});
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://browser.scrapeless.com/api/v2/browser?${params}`,
});
const page = await browser.newPage();
await page.goto(TARGET, { waitUntil: "domcontentloaded", timeout: 60000 });
// ब्राउज़र स्वचालित रूप से टर्नस्टाइल को हल करता है; यह पुष्टि करने के लिए टोकन की प्रतीक्षा करें कि यह हल हो गया।
await page.waitForFunction(
() => window.turnstile && window.turnstile.getResponse(),
{ timeout: 60000 }
);
const token = await page.evaluate(() => window.turnstile.getResponse());
console.log("turnstile token ->", token.slice(0, 24) + "...");
console.log("title ->", await page.title());
await browser.close();
अपना एपीआई कुंजी निःशुल्क योजना पर प्राप्त करें: app.scrapeless.com
प्लेइव्राइट में वही प्रक्रिया
प्लेइव्राइट उसी क्लाउड ब्राउज़र से CDP के माध्यम से जुड़ता है; सत्र रेंडर के दौरान स्वचालित रूप से टर्नस्टाइल को हल करता है, और आप उसी तरह टोकन की प्रतीक्षा करते हैं।
javascript
import { chromium } from "playwright-core";
const params = new URLSearchParams({
token: process.env.SCRAPELESS_API_KEY,
sessionTTL: "180",
proxyCountry: "US",
});
const browser = await chromium.connectOverCDP(
`wss://browser.scrapeless.com/api/v2/browser?${params}`
);
const page = await browser.newPage();
await page.goto("https://www.scrapingcourse.com/cloudflare-challenge", {
waitUntil: "domcontentloaded",
});
await page.waitForFunction(() => window.turnstile && window.turnstile.getResponse());
console.log("title ->", await page.title());
await browser.close();
पास की पुष्टि करें
विश्वसनीय संकेत टर्नस्टाइल टोकन है — एक बार जब window.turnstile.getResponse() एक मूल्य लौटाता है, तो विजेट हल हो गया और आप आगे बढ़ सकते हैं। क्लाउडफ्लेयर भी सफल सत्र पर एक cf_clearance कुकी सेट करता है, जिसे आप अन्य अनुरोधों में सुरक्षा को बनाए रखने के लिए पढ़ सकते हैं।
javascript
const token = await page.evaluate(() => window.turnstile && window.turnstile.getResponse());
console.log("turnstile token present ->", Boolean(token));
const cookies = await page.cookies();
console.log("cf_clearance present ->", cookies.some((c) => c.name === "cf_clearance"));
आपको जो वापस मिलता है
navigator.webdriverसंकेत अनुपस्थित है — क्लाउड ब्राउज़र स्वचालन की घोषणा नहीं करता है, इसलिए पहले जांच करने वाले टर्नस्टाइल का पता एक असली क्रोम जैसा होता है।- निकासी आईपी
proxyCountryसे मेल खाता है — एक आवासीय क्षेत्र एक डेटा सेंटर आईपी की तुलना में अधिक विश्वसनीयता से साफ करता है, जिसे टर्नस्टाइल नीचे अंकित करता है। - एक पास के बाद
cf_clearanceमौजूद है — अनुवर्ती अनुरोधों में ग्रांट को ले जाने के लिए उसी सत्र का पुन: उपयोग करें। - जिद्दी पृष्ठों के लिए सत्र को गर्म करें — उसी सत्र में पहले साइट के मुखपृष्ठ को लोड करें, फिर सुरक्षित पृष्ठ पर जाएं, ताकि व्यवहारिक सतह सामान्य यात्रा की तरह दिखे।
निष्कर्ष: टर्नस्टाइल को साफ करें, अपना कोड बनाए रखें
टर्नस्टाइल को सुलझाना चुनौती का उत्तर देने के बारे में नहीं है — यह एक ब्राउजर प्रस्तुत करने के बारे में है जिस पर क्लाउडफ्लेयर भरोसा करता है। स्क्रैपलेस स्क्रैपिंग ब्राउजर उन तीन चीजों को संभालता है जिनको टर्नस्टाइल स्कोर करता है (फिंगरप्रिंट, व्यवहार, निकासी आईपी) सर्वर-साइड, इसलिए आपका पपेटियेर या प्ले राइट कोड केवल अपनी कनेक्शन यूआरएल बदलता है। proxyCountry को एक रेजिडेंशियल क्षेत्र में लॉक करें, होमपेज पर सत्र को गर्म करें, और पास की पुष्टि के लिए cf_clearance पढ़ें। इंटरस्टिशियल और विजेट के बीच के अंतर के लिए देखें क्लाउडफ्लेयर चुनौती बनाम टर्नस्टाइल, और स्क्रैपलेस मूल्य निर्धारण पृष्ठ पर योजनाओं की तुलना करें।
क्या आप अपना टर्नस्टाइल-कील्स पाइपलाइन बनाने के लिए तैयार हैं?
हमारे समुदाय में शामिल हों और एक मुफ्त योजना प्राप्त करें और डेवलपर्स से जुड़ें जो टर्नस्टाइल-सुरक्षित साइटों को स्क्रैप कर रहे हैं: डिस्कॉर्ड · टेलीग्राम।
app.scrapeless.com पर मुफ्त स्क्रैपिंग ब्राउजर रनटाइम के लिए साइन अप करें और पपेटियेर या प्ले राइट को उस क्लाउड ब्राउजर पर पॉइंट करें जो रेंडर के दौरान टर्नस्टाइल को साफ़ करता है।
अक्सर पूछे जाने वाले प्रश्न
प्रश्न: क्या टर्नस्टाइल एक कैप्चा है जिसे मुझे सॉल्वर सेवा के साथ हल करना है?
नहीं, एक पारित ब्राउज़र पर। टर्नस्टाइल ज्यादातर फिंगरप्रिंट, व्यवहार, और आईपी को बैकग्राउंड में स्कोर करता है और एक cf_clearance कुकी जारी करता है। क्लाउड ब्राउज़र सामान्य रेंडर के दौरान उस स्कोरिंग को पास करने के लिए बनाया गया है, इसलिए उत्तर देने के लिए कोई अलग पहेली नहीं है।
प्रश्न: क्या यह अदृश्य और गैर-इंटरैक्टिव मोड को भी संभालता है?
हाँ। सभी तीन टर्नस्टाइल मोड एक ही cf_clearance ग्रांट में समाप्त होते हैं, और प्रबंधित सत्र पैसिव स्कोरिंग को उसी तरह हैंडल करता है जैसे कि यह चेकबॉक्स वेरिएंट को हैंडल करता है।
प्रश्न: क्या मुझे एक प्रॉक्सी की आवश्यकता है?
नहीं। रेजिडेंशियल ईग्रेस बिल्ट-इन है — proxyCountry को एक क्षेत्र या ANY पर सेट करें। टर्नस्टाइल निकासी आईपी को स्कोर करता है, इसलिए एक रेजिडेंशियल क्षेत्र डेटा केंद्र के पते की तुलना में अधिक विश्वसनीयता से साफ़ करता है।
प्रश्न: कुछ पृष्ठों पर चुनौती अभी भी दिखाई देती है - क्या मदद मिलती है?
proxyCountry को एक रेजिडेंशियल क्षेत्र में लॉक करें और पहले उसी सत्र में सुरक्षित पृष्ठ से पहले साइट के होमपेज को लोड करके सत्र को गर्म करें, ताकि व्यवहारिक सतह सामान्य यात्रा की तरह पढ़ी जाए।
प्रश्न: क्या मेरा पपेटियेर या प्ले राइट कोड संगत है?
हाँ। स्क्रैपिंग ब्राउज़र CDP बोलता है, इसलिए puppeteer.connect() और chromium.connectOverCDP() बिना किसी बदलाव के काम करते हैं — आप केवल कनेक्शन यूआरएल बदलते हैं।
प्रश्न: क्या टर्नस्टाइल को साफ़ करना कानूनी है?
साइट की शर्तों और लागू कानून के अनुसार सार्वजनिक रूप से उपलब्ध डेटा तक पहुँचें। ये तकनीकें प्राधिकृत स्वचालन, परीक्षण, और अनुसंधान के लिए हैं जहाँ आपको अनुमति है।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



