
Cloudflare के एंटी-बॉट पेज को बायपास करने के लिए एक Python मॉड्यूल।
Zied Boughdir द्वारा उन्नत
सभी विशेषताओं का कोर कार्यक्षमता के लिए 100% सफलता दर के साथ परीक्षण किया गया:
Cloudflare के एंटी-बॉट पेज (जिसे "I'm Under Attack Mode" या IUAM के रूप में भी जाना जाता है) को बायपास करने के लिए एक Python मॉड्यूल, Requests के साथ कार्यान्वित। इस उन्नत संस्करण में Cloudflare v2 चैलेंज, प्रॉक्सी रोटेशन, स्टेल्थ मोड और अधिक के लिए समर्थन शामिल है। Cloudflare समय-समय पर अपनी तकनीकें बदलता रहता है, इसलिए मैं इस रिपॉज़िटरी को अक्सर अपडेट करूँगा।
यह तब उपयोगी हो सकता है यदि आप Cloudflare द्वारा सुरक्षित किसी वेबसाइट को स्क्रेप या क्रॉल करना चाहते हैं। Cloudflare का एंटी-बॉट पेज वर्तमान में केवल यह जाँचता है कि क्लाइंट Javascript का समर्थन करता है या नहीं, हालाँकि वे भविष्य में अतिरिक्त तकनीकें जोड़ सकते हैं।
Cloudflare द्वारा लगातार अपने सुरक्षा पेज को बदलने और कठोर बनाने के कारण, Javascript चैलेंज हल करने के लिए cloudscraper को JavaScript Engine/इंटरप्रेटर की आवश्यकता होती है। यह स्क्रिप्ट को Cloudflare के Javascript को स्पष्ट रूप से डीऑबफस्केट और पार्स किए बिना एक सामान्य वेब ब्राउज़र का आसानी से प्रतिरूपण करने की अनुमति देता है।
संदर्भ के लिए, Cloudflare इस प्रकार के पेजों के लिए जो डिफ़ॉल्ट संदेश उपयोग करता है वह यह है:``` Checking your browser before accessing website.com.
This process is automatic. Your browser will redirect to your requested content shortly.
Please allow up to 5 seconds...
Any script using cloudscraper will sleep for ~5 seconds for the first visit to any site with Cloudflare anti-bots enabled, though no delay will occur after the first request.
cloudscraper का उपयोग करने वाली कोई भी स्क्रिप्ट Cloudflare anti-bots सक्षम वाली किसी भी साइट की पहली यात्रा पर लगभग 5 सेकंड के लिए रुकेगी, हालाँकि पहले अनुरोध के बाद कोई देरी नहीं होगी।
# स्थापना
बस `pip install cloudscraper` चलाएँ। PyPI पैकेज https://pypi.org/project/cloudscraper/ पर उपलब्ध है।```bash
pip install cloudscraper
वैकल्पिक रूप से, इस रिपॉजिटरी को क्लोन करें और python setup.py install चलाएँ।
यदि आप पहले मूल cloudscraper पैकेज का उपयोग कर रहे थे, तो अब आप इस उन्नत संस्करण का सीधे उपयोग कर सकते हैं:```python
import cloudscraper # Enhanced version
The API संगत बनी हुई है, इसलिए आपको केवल अपने कोड में import स्टेटमेंट बदलने की आवश्यकता है। सभी फ़ंक्शन कॉल और पैरामीटर उसी तरह काम करते हैं।
### कोडबेस संरचना
कोडबेस को बेहतर रखरखाव और भ्रम कम करने के लिए सुव्यवस्थित किया गया है:
- **एकल मॉड्यूल**: सभी कोड अब `cloudscraper` मॉड्यूल में है
- **अनावश्यकता हटाई गई**: अनावश्यक निर्देशिकाओं को हटा दिया गया है
- **अपडेट किए गए टेस्ट**: सभी टेस्ट फ़ाइलों को `cloudscraper` मॉड्यूल का उपयोग करने के लिए अपडेट किया गया है
यह कोडबेस को साफ और बनाए रखने में आसान बनाता है, साथ ही मूल API का उपयोग करने वाले मौजूदा कोड के साथ पिछड़ी संगतता सुनिश्चित करता है।
## cloudscraper की मुख्य विशेषताएं
| विशेषता | विवरण | स्थिति |
|---------|-------------|--------|
| **🆕 एक्ज़ीक्यूटेबल संगतता** | PyInstaller, cx_Freeze, auto-py-to-exe रूपांतरण के लिए पूर्ण समाधान | ✅ **FIXED** |
| **🆕 v3 JavaScript VM चुनौतियाँ** | Cloudflare की नवीनतम JavaScript VM-आधारित चुनौतियों के लिए समर्थन | ✅ **NEW** |
| **🆕 टर्नस्टाइल समर्थन** | Cloudflare के नए Turnstile CAPTCHA विकल्प के लिए समर्थन | ✅ **NEW** |
| **आधुनिक चुनौती समर्थन** | v1, v2, v3 और Turnstile Cloudflare चुनौतियों के लिए बेहतर समर्थन | ✅ पूर्ण |
| **प्रॉक्सी रोटेशन** | कई रणनीतियों के साथ अंतर्निहित स्मार्ट प्रॉक्सी रोटेशन | ✅ उन्नत |
| **स्टील्थ मोड** | पहचान से बचने के लिए मानव-जैसे व्यवहार का अनुकरण | ✅ उन्नत |
| **ब्राउज़र एमुलेशन** | Chrome और Firefox के लिए उन्नत ब्राउज़र फ़िंगरप्रिंटिंग | ✅ स्थिर |
| **JavaScript हैंडलिंग** | चुनौती समाधान के लिए बेहतर JS इंटरप्रेटर (डिफ़ॉल्ट के रूप में js2py) | ✅ उन्नत |
| **कैप्चा सॉल्वर** | कई CAPTCHA समाधान सेवाओं के लिए समर्थन | ✅ स्थिर |
# निर्भरताएँ
- **Python 3.8+** (Python 3.6 और 3.7 के लिए समर्थन हटा दिया गया)
- **[Requests](https://github.com/psf/requests)** >= 2.31.0
- **[requests_toolbelt](https://pypi.org/project/requests-toolbelt/)** >= 1.0.0
- **[pyparsing](https://pypi.org/project/pyparsing/)** >= 3.1.0
- **[pyOpenSSL](https://pypi.org/project/pyOpenSSL/)** >= 24.0.0
- **[pycryptodome](https://pypi.org/project/pycryptodome/)** >= 3.20.0
- **[websocket-client](https://pypi.org/project/websocket-client/)** >= 1.7.0
- **[js2py](https://pypi.org/project/Js2Py/)** >= 0.74
- **[brotli](https://pypi.org/project/Brotli/)** >= 1.1.0
- **[certifi](https://pypi.org/project/certifi/)** >= 2024.2.2
`python setup.py install` स्वचालित रूप से Python निर्भरताएँ स्थापित करेगा। आपके द्वारा उपयोग करने का निर्णय किए गए javascript इंटरप्रेटर और/या इंजन ही एकमात्र चीज़ें हैं जिन्हें आपको स्वयं स्थापित करने की आवश्यकता है, js2py को छोड़कर जो डिफ़ॉल्ट के रूप में आवश्यकताओं का हिस्सा है।
# जावास्क्रिप्ट इंटरप्रेटर और इंजन
हम निम्नलिखित Javascript इंटरप्रेटर/इंजन का समर्थन करते हैं।
- **[ChakraCore](https://github.com/microsoft/ChakraCore):** लाइब्रेरी बाइनरी [यहाँ](https://www.github.com/VeNoMouS/cloudscraper/tree/ChakraCore/) भी पाई जा सकती हैं।
- **[js2py](https://github.com/PiotrDabkowski/Js2Py):** >=0.74 **(उन्नत संस्करण के लिए डिफ़ॉल्ट)**
- **native**: स्व-निर्मित मूल python सॉल्वर
- **[Node.js](https://nodejs.org/)**
- **[V8](https://github.com/sony/v8eval/):** हम Sony के [v8eval](https://v8.dev)() python मॉड्यूल का उपयोग करते हैं।
# उपयोग