Node.js SDK
अवलोकन
आधिकारिक Scrapeless Node.js SDK ब्राउज़र स्वचालन, स्क्रैपिंग, क्रॉलिंग, प्रॉक्सी, खोज परिणामों और AI चैट निष्कर्षण तक पहुंच प्रदान करता है। यह गाइड SDK रिपॉजिटरी के READMEका अनुसरण करता है, जिसमें चलाए जा सकने वाले उदाहरण और कॉन्फ़िगरेशन विवरण शामिल हैं।
आवश्यकताएँ
npm, pnpm, या Yarn के साथ Node.js का उपयोग करें। पैकेज मैनिफ़ेस्ट न्यूनतम Node.js संस्करण घोषित नहीं करता; repository का publishing workflow Node.js 20 का उपयोग करता है। JavaScript और TypeScript समर्थित हैं, दोनों ES module और CommonJS exports के साथ।
नीचे दिए गए उदाहरण ES मॉड्यूल का उपयोग करते हैं। उन्हें .mjs फ़ाइलों के रूप में सहेजें, या अपने प्रोजेक्ट के "type": "module" में package.jsonसेट करें।
इंस्टॉलेशन
npm install @scrapeless-ai/sdkआप pnpm add @scrapeless-ai/sdk या yarn add @scrapeless-ai/sdkका भी उपयोग कर सकते हैं।
प्रमाणीकरण / API Key
Scrapeless dashboard में लॉग इन करें और एक API key बनाएँ। उदाहरण चलाने से पहले इसे export करें:
export SCRAPELESS_API_KEY="YOUR_API_KEY"अपनी API key को source control में commit करने के बजाय अपने environment या secret manager में रखें।
new Scrapeless() पढ़ता है SCRAPELESS_API_KEY। आप क्लाइंट बनाते समय एक apiKey विकल्प भी पास कर सकते हैं।
त्वरित प्रारंभ
इसे quickstart.mjs के रूप में सहेजें और अपनी API key सेट करने के बाद node quickstart.mjs चलाएँ।
import { Scrapeless } from '@scrapeless-ai/sdk';
const client = new Scrapeless();
const result = await client.universal.scrape({
actor: 'unlocker.webunlocker',
input: { url: 'https://example.com', method: 'GET', redirect: false }
});
console.log(result);उत्पाद कवरेज मैट्रिक्स
| उत्पाद | SDK सेवा | कवरेज |
|---|---|---|
| Agent Browser | client.browser | रिमोट browser sessions बनाएँ और प्रबंधित करें। |
| ब्राउज़र प्रोफाइल | client.profiles | sessions के बीच browser डेटा बनाए रखें। |
| Scraping API | client.scraping | website actors का उपयोग करके संरचित डेटा निकालें। |
| Web Unlocker | client.universal | सुरक्षित websites से सामग्री प्राप्त करें। |
| Crawl | client.scrapingCrawl | किसी पेज को scrape करें या किसी website को crawl करें। |
| Google Search API | client.deepserp | search engine परिणाम निकालें। |
| Proxies | client.proxies | proxy connection URLs जनरेट करें। |
| AI Scraper | client.aiScraper | AI chat कार्य बनाएँ और उनकी स्थिति व परिणाम प्राप्त करें। |
उपयोग के उदाहरण
जब तक कोई उदाहरण अपना स्वयं का client प्रारंभ न करे, त्वरित प्रारंभ से const client = new Scrapeless() का पुनः उपयोग करें।
ब्राउज़र
इस उदाहरण के लिए Puppeteer स्थापित करें: npm install puppeteer-core। Playwright और SDK के ब्राउज़र रैपर के लिए, देखें ब्राउज़र एकीकरण के उदाहरण।
Playwright और Puppeteer frameworks का समर्थन करने वाला उन्नत browser session प्रबंधन, कॉन्फ़िगर करने योग्य anti-detection क्षमताओं (जैसे fingerprint spoofing, CAPTCHA solving) और विस्तार योग्य automation workflows के साथ:
import { Scrapeless } from '@scrapeless-ai/sdk';
import puppeteer from 'puppeteer-core';
const client = new Scrapeless();
// Create a browser session
const { browserWSEndpoint } = await client.browser.create({
sessionName: 'my-session',
sessionTTL: 180,
proxyCountry: 'US'
});
// Connect with Puppeteer
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint
});
try {
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
} finally {
await browser.close();
}ब्राउज़र प्रोफाइल
persistent sessions के लिए browser profiles प्रबंधित करें।
const createResponse = await client.profiles.create('My Profile');
console.log('Profile created:', createResponse);
const profiles = await client.profiles.list({ page: 1, pageSize: 10 });
console.log('Profiles:', profiles.docs);
const profile = await client.profiles.get(createResponse.profileId);
console.log('Profile details:', profile);
// Delete the profile when it is no longer needed.
await client.profiles.delete(createResponse.profileId);Scraping API
websites (जैसे e-commerce, travel platforms) के लिए सीधे डेटा निष्कर्षण API। पहले से बने connectors के साथ संरचित उत्पाद जानकारी, मूल्य निर्धारण और समीक्षाएँ प्राप्त करें:
const result = await client.scraping.scrape({
actor: 'scraper.google.search',
input: {
'q': 'coffee',
'hl': 'en',
'gl': 'us'
}
});
console.log(result.data);Web Unlocker
Web Unlocker का उपयोग करके वेबसाइटों से डेटा निकालें ( client.universal के रूप में उजागर)।
const result = await client.universal.scrape({
actor: 'unlocker.webunlocker',
input: { url: 'https://example.com', method: 'GET', redirect: false }
});
console.log(result);Crawl
एकल पेजों से डेटा निकालें या पूरे डोमेन को traverse करें, Markdown, JSON, HTML, screenshots, और links सहित प्रारूपों में export करें।
const result = await client.scrapingCrawl.scrapeUrl('https://example.com');
console.log(result);प्रॉक्सी
अपने gateway और session settings का उपयोग करके एक proxy URL जनरेट करें।
const proxyUrl = client.proxies.proxy({
type: 'residential',
country: 'US',
sessionDuration: 30,
sessionId: client.proxies.generateSessionId(),
gateway: 'your-proxy-gateway:port'
});
console.log(proxyUrl);AI Scraper
एक task बनाएँ: client.aiScraper.createTask(request)
आवश्यक actor और actor-विशिष्ट inputपास करें। एक वैकल्पिक webhook ऑब्जेक्ट एक कॉलबैक urlस्वीकार करता है। प्रॉमिस पूर्ण API प्रतिक्रिया में हल होता है, जिसमें task_id और statusशामिल हैं, और जब उपलब्ध हो तो task_result ।
brand mentions की निगरानी करने, उत्तरों की तुलना करने, और नवीनतम मॉडलों से competitive intelligence का विश्लेषण करने के लिए बड़े पैमाने पर AI chat सामग्री निकालें। एक ही integration के माध्यम से URLs, prompts, Markdown उत्तर, citations, और बहुत कुछ प्राप्त करें।
समर्थित actor में scraper.chatgpt, scraper.perplexity, scraper.copilot, scraper.gemini, scraper.aimode, scraper.overview, scraper.grok, और scraper.alexaशामिल हैं। input JSON actor पर निर्भर करता है; विस्तृत पैरामीटर के लिए AI Scraper दस्तावेजीकरण देखें। वैकल्पिक webhook JSON में एक कॉलबैक urlहोता है।
import { Scrapeless } from '@scrapeless-ai/sdk';
const client = new Scrapeless(); // Uses SCRAPELESS_API_KEY
const task = await client.aiScraper.createTask({
actor: 'scraper.chatgpt',
input: {
prompt: 'Most reliable proxy service for data extraction',
country: 'US',
web_search: true
},
// Optional: webhook: { url: 'https://your-webhook.example.com' }
});
console.log('Created task:', task);task स्थिति और परिणाम प्राप्त करें: client.aiScraper.getTaskResult(taskId)
creation से task_id पास करें। उसी script में जारी रखें, या ID संग्रहीत करें और बाद के request में परिणाम प्राप्त करें।
const result = await client.aiScraper.getTaskResult(task.task_id);
switch (result.status) {
case 'success':
console.log('Task result:', result.task_result);
break;
case 'failed':
console.error('Task failed:', result.message);
break;
case 'running':
console.log('Task is running. Retrieve the result again later.');
break;
}दोनों विधियां API JSON को अपरिवर्तित लौटाती हैं। निर्माण task_id, status, और जब उपलब्ध हो, तो task_resultलौटाता है। परिणाम पुनर्प्राप्ति status, task_result उपलब्ध होने पर, और विफलता पर message लौटाती है। स्थिति success, failed, या runningहै; SDK स्वचालित रूप से पोल नहीं करता है।
| स्थिति | अर्थ | अगला कदम |
|---|---|---|
running | task अभी भी प्रोसेस हो रहा है। | बाद में फिर से getTaskResult कॉल करें या webhook का उपयोग करें। |
success | task पूर्ण हो गया है। | पढ़ें task_result; इसकी संरचना actor पर निर्भर करती है। |
failed | task पूर्ण नहीं हो सका। | विफलता के कारण के लिए message पढ़ें। |
Creation में पहले से ही एक परिणाम शामिल हो सकता है। आगे के request शेड्यूल करने से पहले इसकी स्थिति का निरीक्षण करें। यदि आप polling लागू करते हैं, तो एक delay और एक समग्र timeout का उपयोग करें।
Google Search API
const result = await client.deepserp.scrape({
actor: 'scraper.google.search',
input: { q: 'nike site:www.nike.com' }
});
console.log(result);अधिक पूर्ण एकीकरण के लिए, रिपॉजिटरी की examples निर्देशिकाब्राउज़ करें।
त्रुटि प्रबंधन
API request विफलताओं के लिए ScrapelessError को catch करें। किसी AI Scraper response की status को अलग से जाँचें: एक task बिना HTTP request में error फेंके failed लौटा सकता है।
import { Scrapeless, ScrapelessError } from '@scrapeless-ai/sdk';
try {
const client = new Scrapeless();
const result = await client.universal.scrape({
actor: 'unlocker.webunlocker',
input: { url: 'https://example.com', method: 'GET' }
});
console.log(result);
} catch (error) {
if (error instanceof ScrapelessError) {
console.error('Scrapeless error:', error.message);
console.error('Status code:', error.statusCode);
} else {
throw error;
}
}कॉन्फ़िगरेशन / एनवायरनमेंट वेरिएबल
API key आवश्यक है। Endpoint overrides वैकल्पिक हैं; तालिका उनके डिफ़ॉल्ट दिखाती है।
import { Scrapeless } from '@scrapeless-ai/sdk';
const client = new Scrapeless({
apiKey: process.env.SCRAPELESS_API_KEY,
timeout: 30000, // Request timeout in milliseconds
baseApiUrl: 'https://api.scrapeless.com',
browserApiUrl: 'https://browser.scrapeless.com',
scrapingCrawlApiUrl: 'https://api.scrapeless.com'
});स्पष्ट configuration environment variables पर प्राथमिकता लेती है। डिफ़ॉल्ट request timeout 30,000 मिलीसेकंड है।
| एनवायरनमेंट वेरिएबल | उद्देश्य / डिफ़ॉल्ट |
|---|---|
SCRAPELESS_API_KEY | dashboard से आवश्यक API key। |
SCRAPELESS_BASE_API_URL | https://api.scrapeless.com |
SCRAPELESS_BROWSER_API_URL | https://browser.scrapeless.com |
SCRAPELESS_CRAWL_API_URL | https://api.scrapeless.com |
सहायता
- SDK source और README
- किसी समस्या की रिपोर्ट करें
- Scrapeless दस्तावेज़
- Discord community से जुड़ें
- Email सहायता
SDK को MIT लाइसेंस के तहत जारी किया गया है।