- Crawlee वेब स्क्रैपिंग और ब्राउज़र ऑटोमेशन के लिए एक Python लाइब्रेरी है
- यह भरोसेमंद crawler को तेजी से बनाने में मदद करता है
- AI, LLM, RAG, GPT के लिए डेटा extraction में इस्तेमाल किया जा सकता है
- वेबसाइटों से HTML, PDF, JPG, PNG जैसी फ़ाइलें डाउनलोड की जा सकती हैं
- यह BeautifulSoup, Playwright और शुद्ध HTTP के साथ काम करता है
- Headful mode और Headless mode दोनों का समर्थन करता है
- proxy rotation फीचर प्रदान करता है
विशेषताएँ
- HTTP और Headless browser crawling के लिए एकीकृत interface प्रदान करता है
- उपलब्ध system resources के आधार पर अपने-आप parallel crawling करता है
- type hints का उपयोग करने वाले Python में लिखा गया है, जिससे IDE auto-completion बेहतर होती है और bugs कम होते हैं
- त्रुटि होने या block होने पर automatic retry फीचर
- एकीकृत proxy rotation और session management फीचर
- configurable request routing - URL को सीधे उपयुक्त handler तक भेजता है
- crawl किए जाने वाले URL के लिए persistent queue
- tabular data और फ़ाइलों दोनों के लिए pluggable storage
- मज़बूत error handling फीचर
Scrapy से अंतर
- Crawlee डिफ़ॉल्ट रूप से Headless browser crawling (Playwright) को सपोर्ट करता है
- सरल और सुरुचिपूर्ण interface - 10 लाइनों से कम code में scraper सेट किया जा सकता है
- पूर्ण type hint support
- standard Asyncio पर आधारित
GN⁺ की राय
- Crawlee वेब स्क्रैपिंग और crawling के लिए एक शक्तिशाली tool लगता है। खासकर Headless browser-आधारित crawling को डिफ़ॉल्ट रूप से सपोर्ट करना इसका बड़ा फ़ायदा है।
- सरल interface और कम code से crawler बनाया जा सकता है, इसलिए उत्पादकता ऊँची लगती है। साथ ही type hints के सक्रिय उपयोग से development experience बेहतर होता है और त्रुटियों की संभावना कम होती है।
- अगर किसी project में डेटा extraction के लिए crawling की ज़रूरत है, तो Crawlee पर गंभीरता से विचार किया जा सकता है। खासकर यदि JavaScript rendering की आवश्यकता वाले web pages को crawl करना हो, तो PlaywrightCrawler उपयोगी लग सकता है।
- हालांकि, यदि बहुत बड़े पैमाने पर crawling चाहिए या real-time responsiveness महत्वपूर्ण है, तो distributed crawling को सपोर्ट करने वाले Scrapy या अन्य tools का उपयोग बेहतर हो सकता है।
- crawling policy या कानूनी मुद्दों पर भी पर्याप्त समीक्षा करने के बाद ही इसका उपयोग करना उचित होगा।
2 टिप्पणियां
मुझे पता था कि यह Node को support करता है, लेकिन लगता है Python को भी support करता है। अगर scraper को लगातार maintain करना हो, तो framework के बारे में गंभीरता से सोचना पड़ेगा हाहा
Hacker News प्रतिक्रिया
मौजूदा फीचर्स का documentation करना महत्वपूर्ण है। वेब scraping platform कितना भी शानदार हो, अगर उसे सिर्फ उसके उपयोगकर्ता ही समझ सकें तो उसका कोई मतलब नहीं है
tiered_proxy_urls: list[list[str]] | None = Noneका अर्थ समझना कठिन हैApify/Crawlee का धन्यवाद। लंबे समय से Node.js उपयोगकर्ता होने के नाते, यह library सबसे अच्छा काम करती रही है
किसी project के लिए stack खोजते समय मुझे Crawlee मिला। मैं Python library चाहता था, लेकिन मैंने Typescript में Crawlee का उपयोग करके एक हफ्ते में project पूरा कर लिया
यह Scrapy से कैसे अलग है, यह जानने की उत्सुकता है
यह जानने की उत्सुकता है कि किसी दूसरी library से switch करने की वजह क्या होगी। मैंने अपना खुद का crawler बनाया है, लेकिन इसमें कुछ खास अनोखा नहीं दिखा
modern Python code अच्छा दिखता है
const data = await crawler.get_data()Javascript जैसा दिखता है। लगता है underscore छूट गया हैसुझाव है कि test cases से और code snippets लेकर उन्हें documentation examples में शामिल किया जाए। अच्छा काम है
scraping tools हमेशा स्वागतयोग्य होते हैं। इसे किसी personal project में आज़माने वाला हूँ। AI की वजह से आज scraping कुछ-कुछ gold rush के दौर में फावड़े बेचने जैसा है