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

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

Logo of CapSolver

Lucas Mitchell

Automation Engineer

27-Sep-2024

नोड-फेच क्या है?

node-fetch एक हल्का जावास्क्रिप्ट लाइब्रेरी है जो window.fetch API को नोड.जेएस में लाता है। इसका उपयोग अक्सर नोड.जेएस वातावरण से HTTP अनुरोध करने के लिए किया जाता है, जो नेटवर्क संचालन को अतुल्यकालिक रूप से संभालने का एक आधुनिक और लचीला तरीका प्रदान करता है।

विशेषताएँ:

  • प्रॉमिस-आधारित: जावास्क्रिप्ट प्रॉमिस का उपयोग सरल तरीके से अतुल्यकालिक संचालन का प्रबंधन करने के लिए करता है।
  • नोड.जेएस सपोर्ट: विशेष रूप से नोड.जेएस वातावरण के लिए डिज़ाइन किया गया।
  • स्ट्रीम सपोर्ट: स्ट्रीम का समर्थन करता है, जिससे यह बड़े डेटा को संभालने के लिए अत्यधिक उपयुक्त है।
  • छोटा और कुशल: न्यूनतम डिज़ाइन, प्रदर्शन और आधुनिक जावास्क्रिप्ट सुविधाओं के साथ संगतता पर ध्यान केंद्रित करना।

पूर्वापेक्षाएँ

node-fetch का उपयोग करने से पहले, सुनिश्चित करें कि आपके पास है:

  • नोड.जेएस स्थापित।
  • अपने पैकेजों का प्रबंधन करने के लिए npm या yarn

स्थापना

node-fetch का उपयोग करने के लिए, आपको इसे npm या yarn का उपयोग करके इंस्टॉल करना होगा:

bash Copy
npm install node-fetch

या

bash Copy
yarn add node-fetch

बेसिक उदाहरण: GET अनुरोध करना

यहां node-fetch का उपयोग करके एक साधारण GET अनुरोध करने का तरीका बताया गया है:

javascript Copy
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 Copy
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 Copy
npm install node-fetch
npm install capsolver

अब, यहां बताया गया है कि ReCaptcha V3 को कैसे हल करें और अपने अनुरोध में समाधान का उपयोग करें:

javascript Copy
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 Copy
npm install https-proxy-agent

प्रॉक्सी के साथ उदाहरण:

javascript Copy
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 Copy
npm install fetch-cookie

उदाहरण:

javascript Copy
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 Copy
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% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।

अधिक

सर्वश्रेष्ठ एक्सटेंशन CAPTCHA 2026 हल करे
CAPTCHA 2026 हल करने के लिए सबसे अच्छा एक्सटेंशन क्या है?

ऑनलाइन सुरक्षा की लगातार बदलती दुनिया में, कैप्चा चुनौतियां इंटरनेट उपयोगकर्ताओं के लिए एक सामान्य बाधा बन गई हैं।

Extension
Logo of CapSolver

Sora Fujimoto

12-Dec-2025

लुमीप्रॉक्सी
लुमिप्रॉक्सी: प्रीमियम प्रॉक्सी वेब स्क्रैपिंग एंड डेटा एकत्रीकरण के लिए

इस लेख में, हम आपको लुमीप्रॉक्सी क्या है और जो वे प्रदान करते हैं उन सेवाओं के बारे में बताएंगे।

Partners
Logo of CapSolver

Emma Foster

12-Dec-2025

जेनलॉगिन
Genlogin: आपके वेब ऑटोमेशन अनुभव को क्रांति लाओ

इस लेख में, हम आपको Genlogin क्या है और सेवाएं जो वे प्रदान करते हैं दिखाएंगे।

Partners
Logo of CapSolver

Aloísio Vítor

12-Dec-2025

प्रॉक्सीएसआईओ
प्रॉक्सीज.आईओ : किसी भी कार्य के लिए व्यक्तिगत प्रॉक्सी

इस लेख में, हम आपको दिखाएंगे कि Proxys.io क्या है और वे कौन सी सेवाएं प्रदान करते हैं।

Partners
Logo of CapSolver

Nikolai Smirnov

12-Dec-2025

टैबप्रॉक्सी
टैबप्रॉक्सी: अच्छी कीमत विदेशी रिजिडेंशियल प्रॉक्सी

इस लेख में, हम आपको टैबप्रॉक्सी क्या है और वे क्या सेवाएं प्रदान करते हैं दिखाएंगे।

Partners
Logo of CapSolver

Rajinder Singh

12-Dec-2025

आईपी 2 दुनिया
IP2World रिजिडेंशियल प्रॉक्सी: नेतृत्व कर रहे वैश्विक आईपी प्रॉक्सी समाधान

इस लेख में, हम आपको IP2World क्या है और वे कौन सी सेवाएं प्रदान करते हैं दिखाएंगे।

Partners
Logo of CapSolver

Ethan Collins

12-Dec-2025