इस प्रोजेक्ट के बारे में
Pydoll एक Python लाइब्रेरी है जो Chromium-आधारित ब्राउज़रों को बिना WebDriver के ऑटोमेट करती है। यह WebSocket के जरिए सीधे Chrome से DevTools Protocol पर कनेक्ट होती है, इसलिए न कोई ड्राइवर बाइनरी होती है और न ही navigator.webdriver फ्लैग एक्सपोज़ होता है। API asynchronous और पूरी तरह typed है, जो asyncio पर बनी है और mypy से चेक की जाती है।
README में बताई गई मुख्य क्षमताएँ:
- Humanized इंटरैक्शन: Bezier कर्व्स के साथ माउस मूवमेंट, वास्तविक जैसी टाइपिंग और स्क्रॉल फिजिक्स, जिन्हें humanize=True से सक्षम किया जाता है। README कहता है कि ब्राउज़र और IP रेपुटेशन के आधार पर यह अक्सर Cloudflare Turnstile या reCAPTCHA v3 जैसी behavioral चुनौतियों को पास करने के लिए पर्याप्त होता है।
- फिंगरप्रिंट इंजेक्शन: tab.apply_fingerprint() User-Agent, Client Hints, navigator, WebGL, canvas, screen, fonts, timezone और locale को ओवरराइड करता है और मानों को सुसंगत रखता है। README कहता है कि इंजेक्ट किए गए ओवरराइड toString और prototype introspection से बचे रहते हैं और Web Workers में भी फैलते हैं। यह भी नोट करता है कि Pydoll फिंगरप्रिंट न बनाता है और न ही शिप करता है; उदाहरण प्रोफाइल केवल संदर्भ हैं।
- Structured extraction: एक Pydantic मॉडल परिभाषित करें और typed, validated डेटा पाने के लिए tab.extract() या tab.extract_all() कॉल करें, जिसमें CSS/XPath ऑटो-डिटेक्शन, attribute targeting, कस्टम ट्रांसफॉर्म और nested मॉडल शामिल हैं।
- Shadow DOM और iframes: closed सहित shadow roots का समर्थन, साथ ही cross-origin iframes, उसी find/query/click API का उपयोग करते हुए।
- नेटवर्क नियंत्रण: विज्ञापनों और ट्रैकर्स को ब्लॉक करने के लिए request interception, API discovery के लिए traffic monitoring, HAR 1.2 रिकॉर्डिंग और replay, और ब्राउज़र सत्र को इनहेरिट करने वाले authenticated HTTP requests।
- Page bundles: किसी पेज और उसके assets को zip के रूप में सेव करें, वैकल्पिक रूप से assets को एक ही HTML फ़ाइल में inline करें।
- Concurrency और remote connections: कई tabs और अलग-अलग browser contexts, साथ ही Docker या रिमोट सर्वर पर ब्राउज़रों से कनेक्ट करना।
- कस्टम recovery लॉजिक और exponential backoff के साथ retry decorator।
इंस्टॉलेशन pip install pydoll-python से होता है, और किसी WebDriver बाइनरी या बाहरी dependencies की आवश्यकता नहीं होती। README नोट करता है कि यह प्रोजेक्ट वर्तमान में एक ही व्यक्ति द्वारा मेंटेन किया जा रहा है, विकास अब शांत गति से जारी है, और प्रोजेक्ट 10k stars तक पहुँचने पर Firefox समर्थन एक लक्ष्य के रूप में नियोजित है। यह यह भी बताता है कि Turnstile bypass कोई जादुई bypass नहीं है और यह environment और IP रेपुटेशन पर निर्भर करता है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.