वेब स्क्रैपिंग के लिए node-fetch का उपयोग कैसे करें

Lucas Mitchell
Automation Engineer
27-Sep-2024
नोड-फेच क्या है?
node-fetch
एक हल्का जावास्क्रिप्ट लाइब्रेरी है जो window.fetch
API को नोड.जेएस में लाता है। इसका उपयोग अक्सर नोड.जेएस वातावरण से HTTP अनुरोध करने के लिए किया जाता है, जो नेटवर्क संचालन को अतुल्यकालिक रूप से संभालने का एक आधुनिक और लचीला तरीका प्रदान करता है।
विशेषताएँ:
- प्रॉमिस-आधारित: जावास्क्रिप्ट प्रॉमिस का उपयोग सरल तरीके से अतुल्यकालिक संचालन का प्रबंधन करने के लिए करता है।
- नोड.जेएस सपोर्ट: विशेष रूप से नोड.जेएस वातावरण के लिए डिज़ाइन किया गया।
- स्ट्रीम सपोर्ट: स्ट्रीम का समर्थन करता है, जिससे यह बड़े डेटा को संभालने के लिए अत्यधिक उपयुक्त है।
- छोटा और कुशल: न्यूनतम डिज़ाइन, प्रदर्शन और आधुनिक जावास्क्रिप्ट सुविधाओं के साथ संगतता पर ध्यान केंद्रित करना।
पूर्वापेक्षाएँ
node-fetch
का उपयोग करने से पहले, सुनिश्चित करें कि आपके पास है:
स्थापना
node-fetch
का उपयोग करने के लिए, आपको इसे npm या yarn का उपयोग करके इंस्टॉल करना होगा:
bash
npm install node-fetch
या
bash
yarn add node-fetch
बेसिक उदाहरण: GET अनुरोध करना
यहां node-fetch
का उपयोग करके एक साधारण GET अनुरोध करने का तरीका बताया गया है:
javascript
const fetch = require('node-fetch');
fetch('https://httpbin.org/get')
.then(response => response.json())
.then(data => {
console.log('Response Body:', data);
})
.catch(error => {
console.error('Error:', error);
});
वेब स्क्रैपिंग उदाहरण: API से JSON डेटा प्राप्त करना
आइए हम एक API से डेटा प्राप्त करें और परिणाम लॉग इन करें:
javascript
const fetch = require('node-fetch');
fetch('https://jsonplaceholder.typicode.com/posts')
.then(response => response.json())
.then(posts => {
posts.forEach(post => {
console.log(`${post.title} — ${post.body}`);
});
})
.catch(error => {
console.error('Error:', error);
});
कैप्सॉल्वर और node-fetch
के साथ कैप्चा हैंडल करना
इस खंड में, हम कैप्चा को संभालने के लिए node-fetch
के साथ CapSolver को एकीकृत करेंगे। CapSolver ReCaptcha V3 और captcha जैसे कैप्चा को हल करने के लिए API प्रदान करता है, ऐसे कार्यों के स्वचालन को सक्षम करता है जिन्हें ऐसे कैप्चा को हल करने की आवश्यकता होती है।
उदाहरण: CapSolver और node-fetch
के साथ ReCaptcha V3 को हल करना
सबसे पहले, node-fetch
और CapSolver इंस्टॉल करें:
bash
npm install node-fetch
npm install capsolver
अब, यहां बताया गया है कि ReCaptcha V3 को कैसे हल करें और अपने अनुरोध में समाधान का उपयोग करें:
javascript
const fetch = require('node-fetch');
const CAPSOLVER_KEY = 'YourKey';
const PAGE_URL = 'https://antcpt.com/score_detector';
const PAGE_KEY = '6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf';
const PAGE_ACTION = 'homepage';
async function createTask(url, key, pageAction) {
try {
const apiUrl = 'https://api.capsolver.com/createTask';
const payload = {
clientKey: CAPSOLVER_KEY,
task: {
type: 'ReCaptchaV3TaskProxyLess',
websiteURL: url,
websiteKey: key,
pageAction: pageAction
}
};
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
const data = await response.json();
return data.taskId;
} catch (error) {
console.error('Error creating CAPTCHA task:', error);
throw error;
}
}
async function getTaskResult(taskId) {
try {
const apiUrl = 'https://api.capsolver.com/getTaskResult';
const payload = {
clientKey: CAPSOLVER_KEY,
taskId: taskId,
};
let result;
do {
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
});
result = await response.json();
if (result.status === 'ready') {
return result.solution;
}
await new Promise(resolve => setTimeout(resolve, 5000)); // wait 5 seconds
} while (true);
} catch (error) {
console.error('Error fetching CAPTCHA result:', error);
throw error;
}
}
async function main() {
console.log('Creating CAPTCHA task...');
const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
console.log(`Task ID: ${taskId}`);
console.log('Retrieving CAPTCHA result...');
const solution = await getTaskResult(taskId);
const token = solution.gRecaptchaResponse;
console.log(`Token Solution: ${token}`);
const res = await fetch('https://antcpt.com/score_detector/verify.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ 'g-recaptcha-response': token })
});
const response = await res.json();
console.log(`Score: ${response.score}`);
}
main().catch(err => {
console.error(err);
});
node-fetch
के साथ प्रॉक्सी हैंडल करना
node-fetch
के साथ प्रॉक्सी के माध्यम से अपने अनुरोधों को रूट करने के लिए, आपको https-proxy-agent
जैसे प्रॉक्सी एजेंट की आवश्यकता होगी। यहां बताया गया है कि इसे कैसे लागू करें:
bash
npm install https-proxy-agent
प्रॉक्सी के साथ उदाहरण:
javascript
const fetch = require('node-fetch');
const HttpsProxyAgent = require('https-proxy-agent');
const proxyAgent = new HttpsProxyAgent('http://username:password@proxyserver:8080');
fetch('https://httpbin.org/ip', { agent: proxyAgent })
.then(response => response.json())
.then(data => {
console.log('Response Body:', data);
})
.catch(error => {
console.error('Error:', error);
});
node-fetch
के साथ कुकीज़ हैंडल करना
node-fetch
में कुकी हैंडलिंग के लिए, आप fetch-cookie
जैसी लाइब्रेरी का उपयोग कर सकते हैं। यहां बताया गया है कि इसका उपयोग कैसे करें:
bash
npm install fetch-cookie
उदाहरण:
javascript
const fetch = require('node-fetch');
const fetchCookie = require('fetch-cookie');
const cookieFetch = fetchCookie(fetch);
cookieFetch('https://httpbin.org/cookies/set?name=value')
.then(response => response.json())
.then(data => {
console.log('Cookies:', data);
})
.catch(error => {
console.error('Error:', error);
});
उन्नत उपयोग: कस्टम हेडर और POST अनुरोध
आप node-fetch
के साथ हेडर को अनुकूलित कर सकते हैं और POST अनुरोध कर सकते हैं:
javascript
const fetch = require('node-fetch');
const headers = {
'User-Agent': 'Mozilla/5.0 (compatible)',
'Accept-Language': 'en-US,en;q=0.5',
};
const data = {
username: 'testuser',
password: 'testpass',
};
fetch('https://httpbin.org/post', {
method: 'POST',
headers: headers,
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
console.log('Response JSON:', data);
})
.catch(error => {
console.error('Error:', error);
});
बोनस कोड
CapSolver पर शीर्ष कैप्चा समाधानों के लिए अपना बोनस कोड प्राप्त करें: scrape. इसे रिडीम करने के बाद, आपको प्रत्येक रिचार्ज के बाद अतिरिक्त 5% बोनस मिलेगा, असीमित बार।

निष्कर्ष
node-fetch
के साथ, आप नोड.जेएस में HTTP अनुरोधों का प्रभावी ढंग से प्रबंधन कर सकते हैं। इसे CapSolver के साथ एकीकृत करके, आप ReCaptcha V3 और captcha जैसे कैप्चा को हल कर सकते हैं, प्रतिबंधित सामग्री तक पहुंच प्रदान कर सकते हैं। इसके अतिरिक्त, node-fetch
हेडर, प्रॉक्सी समर्थन और कुकी प्रबंधन के माध्यम से अनुकूलन प्रदान करता है, जिससे यह वेब स्क्रैपिंग और स्वचालन के लिए एक बहुमुखी उपकरण बन जाता है।
अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड
2025 में CapSolver के साथ प्रभावी ढंग से इमेज CAPTCHA को हल करना सीखें

Rajinder Singh
23-Jan-2025

reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका
reCAPTCHA इमेज ग्रिड से जूझ रहे हैं? जानें कि कैसे Capsolver का AI-संचालित पहचान 'सभी का चयन करें' चुनौतियों को तुरंत हल करता है। API एकीकरण, ब्राउज़र एक्सटेंशन और 95%+ सटीकता के साथ CAPTCHA को स्वचालित करने के लिए प्रो टिप्स जानें

Rajinder Singh
23-Jan-2025

2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें
2025 में निर्बाध वेब स्क्रैपिंग के लिए Cloudflare Challenge और Turnstile को कैसे बायपास करें, यह जानें। Capsolver इंटीग्रेशन, TLS फ़िंगरप्रिंटिंग टिप्स और CAPTCHA नर्क से बचने के लिए सामान्य त्रुटियों के समाधान खोजें। समय बचाएँ और अपने डेटा निष्कर्षण को स्केल करें।

Emma Foster
23-Jan-2025

एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें
Capsolver के एक्सटेंशन से Cloudflare Turnstile CAPTCHA को कैसे बायपास करें, यह जानें। Chrome, Firefox और Puppeteer जैसे ऑटोमेशन टूल्स के लिए इंस्टॉलेशन गाइड।

Ethan Collins
23-Jan-2025

reCAPTCHA Site Key क्या है और यह कैसे प्राप्त करें?
reCAPTCHA Site Key को मैन्युअली या Capsolver जैसे टूल्स से कैसे ढूँढें, सामान्य समस्याओं को कैसे ठीक करें और डेवलपर्स और वेब स्क्रैपिंग के लिए CAPTCHA सॉल्विंग को कैसे ऑटोमेट करें, यह जानें।

Anh Tuan
23-Jan-2025

2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर
2025 के शीर्ष 5 CAPTCHA सॉल्वरों का अन्वेषण करें, जिसमें तेज़ reCAPTCHA पहचान के लिए AI-संचालित CapSolver भी शामिल है। यहाँ गति, मूल्य और सटीकता की तुलना करें

Anh Tuan
23-Jan-2025