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

अधिक

वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड
वेब स्क्रैपिंग में इमेज CAPTCHAs को कैसे हल करें: 2025 के लिए एक संपूर्ण गाइड

2025 में CapSolver के साथ प्रभावी ढंग से इमेज CAPTCHA को हल करना सीखें

Logo of CapSolver

Rajinder Singh

23-Jan-2025

reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका
reCAPTCHA पहचान क्या है? शुरुआती लोगों के लिए एक मार्गदर्शिका

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

Logo of CapSolver

Rajinder Singh

23-Jan-2025

2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें
2025 में वेब स्क्रैपिंग करते समय Cloudflare चुनौती को कैसे बायपास करें

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

Logo of CapSolver

Emma Foster

23-Jan-2025

एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें
एक्सटेंशन द्वारा क्लाउडफ्लेयर टर्नस्टाइल CAPTCHA कैसे हल करें

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

Logo of CapSolver

Ethan Collins

23-Jan-2025

reCAPTCHA साइट कुंजी क्या है और इसे कैसे ढूंढें?
reCAPTCHA Site Key क्या है और यह कैसे प्राप्त करें?

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

Logo of CapSolver

Anh Tuan

23-Jan-2025

2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर
2025 में reCAPTCHA पहचान के लिए शीर्ष 5 कैप्चा सॉल्वर

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

Logo of CapSolver

Anh Tuan

23-Jan-2025