
Node.js वेब स्क्रैपिंग और ब्राउज़र ऑटोमेशन लाइब्रेरी, जो HTTP और हेडलेस ब्राउज़र समर्थन, प्रॉक्सी रोटेशन, और मानव-जैसी फिंगरप्रिंटिंग के साथ विश्वसनीय क्रॉलर बनाने के लिए है।
Crawlee आपकी क्रॉलिंग और स्क्रैपिंग को एंड-टू-एंड कवर करता है और विश्वसनीय स्क्रैपर बनाने में आपकी मदद करता है। तेज़ी से।
आपके क्रॉलर मानव-जैसे दिखाई देंगे और डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ भी आधुनिक बॉट सुरक्षा की रडार से बच निकलेंगे। Crawlee आपको लिंक के लिए वेब क्रॉल करने, डेटा स्क्रैप करने, और इसे डिस्क या क्लाउड पर संग्रहीत करने के उपकरण देता है, साथ ही आपकी परियोजना की आवश्यकताओं के अनुरूप कॉन्फ़िगर करने योग्य बना रहता है।
Crawlee crawlee NPM पैकेज के रूप में उपलब्ध है।
👉 Crawlee परियोजना वेबसाइट पर पूर्ण दस्तावेज़ीकरण, गाइड और उदाहरण देखें 👈
क्या आप JavaScript के बजाय 🐍 Python पसंद करते हैं? 👉 Python के लिए Crawlee देखें 👈।
अधिक जानकारी के लिए हम Crawlee दस्तावेज़ीकरण में परिचय ट्यूटोरियल पर जाने की सलाह देते हैं।
Crawlee के लिए Node.js 22.13 या उच्चतर आवश्यक है।
Crawlee को आज़माने का सबसे तेज़ तरीका Crawlee CLI का उपयोग करना और Getting started example चुनना है। CLI सभी आवश्यक निर्भरताएँ इंस्टॉल करेगा और आपके खेलने के लिए बॉयलरप्लेट कोड जोड़ेगा।
npx crawlee create my-crawler
cd my-crawler
npm start
यदि आप Crawlee को अपनी परियोजना में जोड़ना पसंद करते हैं, तो नीचे दिया गया उदाहरण आज़माएँ। चूँकि यह PlaywrightCrawler का उपयोग करता है, हमें Playwright भी इंस्टॉल करना होगा। इंस्टॉल आकार कम करने के लिए यह Crawlee के साथ बंडल नहीं किया गया है।
npm install crawlee playwright
import { PlaywrightCrawler, Dataset } from 'crawlee';
// PlaywrightCrawler crawls the web using a headless
// browser controlled by the Playwright library.
const crawler = new PlaywrightCrawler({
// Use the requestHandler to process each of the crawled pages.
async requestHandler({ request, page, enqueueLinks, log }) {
const title = await page.title();
log.info(`Title of ${request.loadedUrl} is '${title}'`);
// Save results as JSON to ./storage/datasets/default
await Dataset.pushData({ title, url: request.loadedUrl });
// Extract links from the current page
// and add them to the crawling queue.
await enqueueLinks();
},
// Uncomment this option to see the browser window.
// headless: false,
});
// Add first URL to the queue and start the crawl.
await crawler.run(['https://crawlee.dev']);
डिफ़ॉल्ट रूप से, Crawlee वर्तमान कार्यशील निर्देशिका में ./storage में डेटा संग्रहीत करता है। आप Crawlee कॉन्फ़िगरेशन के माध्यम से इस निर्देशिका को ओवरराइड कर सकते हैं। विवरण के लिए, कॉन्फ़िगरेशन गाइड, Request storage और Result storage देखें।
हम Crawlee में प्रत्येक मर्ज किए गए कोड परिवर्तन के लिए स्वचालित बीटा बिल्ड प्रदान करते हैं। आप उन्हें npm की रिलीज़ की सूची में पा सकते हैं। यदि आप हमारे द्वारा जारी करने से पहले नई सुविधाओं या बग फिक्स का परीक्षण करना चाहते हैं, तो बेझिझक इस तरह एक बीटा बिल्ड इंस्टॉल करें:
npm install crawlee@next
यदि आप Apify SDK का भी उपयोग करते हैं, तो आपको अपनी package.json फ़ाइल में निर्भरता ओवरराइड निर्दिष्ट करने की आवश्यकता है ताकि आप Crawlee के कई संस्करणों के साथ समाप्त न हों:
{
"overrides": {
"apify": {
"@crawlee/core": "$crawlee",
"@crawlee/types": "$crawlee",
"@crawlee/utils": "$crawlee"
}
}
}
Crawlee ओपन-सोर्स है और कहीं भी चलता है, लेकिन चूँकि इसे Apify द्वारा विकसित किया गया है, इसे Apify प्लेटफ़ॉर्म पर सेट करना और क्लाउड में चलाना आसान है। Apify प्लेटफ़ॉर्म पर Crawlee को तैनात करने के बारे में अधिक जानने के लिए Apify SDK वेबसाइट पर जाएँ।
यदि आपको Crawlee में कोई बग या समस्या मिलती है, तो कृपया GitHub पर एक इश्यू सबमिट करें। प्रश्नों के लिए, आप Stack Overflow पर, GitHub Discussions में पूछ सकते हैं या आप हमारे Discord सर्वर में शामिल हो सकते हैं।
आपके कोड योगदान का स्वागत है, और आपकी अनंत काल तक प्रशंसा की जाएगी! यदि आपके पास सुधार के लिए कोई विचार है, तो या तो एक इश्यू सबमिट करें या एक पुल रिक्वेस्ट बनाएँ। योगदान दिशानिर्देशों और आचार संहिता के लिए, CONTRIBUTING.md देखें।
यह परियोजना Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त है - विवरण के लिए LICENSE.md फ़ाइल देखें।