प्रॉक्सियों का उपयोग कैसे करें node-fetch के साथ: एक संपूर्ण गाइड
Specialist in Anti-Bot Strategies
अनाम और प्रभावी वेब स्क्रैपिंग के लिए लोकप्रिय `node-fetch` पुस्तकालय का उपयोग करके Node.js में प्रॉक्सियों को कॉन्फ़िगर करने की कला में महारत हासिल करें।
node-fetch पुस्तकालय Node.js में HTTP अनुरोध करने के लिए एक लोकप्रिय विकल्प है, जो आधुनिक वेब ब्राउज़रों में उपलब्ध fetch API के समान एक परिचित API प्रदान करता है। वेब स्क्रैपिंग, भू-निर्देशन, या दर सीमा को बाईपास करने जैसे कार्यों के लिए प्रॉक्सी का एकीकरण आवश्यक है।
हालांकि, अन्य कुछ HTTP क्लाइंट के विपरीत, node-fetch स्वदेशी रूप से प्रॉक्सी कॉन्फ़िगरेशन का समर्थन नहीं करता है। यह मार्गदर्शिका आपको node-fetch के साथ HTTP/HTTPS और SOCKS प्रोटोकॉल के लिए सफलतापूर्वक प्रॉक्सियों को एकीकृत करने के लिए आवश्यक चरणों और उपकरणों के माध्यम से ले जाएगी।
पूर्वापेक्षाएँ
शुरू करने से पहले, सुनिश्चित करें कि आपके पास Node.js वातावरण स्थापित है और निम्नलिखित पैकेज इंस्टॉल किए गए हैं:
node-fetch: प्राथमिक HTTP क्लाइंट।https-proxy-agent: HTTP/HTTPS प्रॉक्सी से कनेक्ट करने के लिए उपयोग किया जाता है।socks-proxy-agent: SOCKS प्रॉक्सी से कनेक्ट करने के लिए उपयोग किया जाता है।
आप इन्हें npm का उपयोग करके इंस्टॉल कर सकते हैं:
bash
npm install node-fetch https-proxy-agent socks-proxy-agent
1. node-fetch के साथ HTTP/HTTPS प्रॉक्सियों का उपयोग करना
HTTP या HTTPS प्रॉक्सी का उपयोग करने के लिए, आपको https-proxy-agent पैकेज का उपयोग करना होगा। यह पैकेज एक Agent ऑब्जेक्ट बनाता है जिसका उपयोग node-fetch निर्दिष्ट प्रॉक्सी के माध्यम से अपने अनुरोधों को रूट करने के लिए कर सकता है।
चरण 1: आवश्यक मॉड्यूल आयात करें
javascript
import fetch from 'node-fetch';
import { HttpsProxyAgent } from 'https-proxy-agent';
चरण 2: प्रॉक्सी URL को परिभाषित करें
प्रॉक्सी URL का स्वरूप होना चाहिए: http://[username:password@]host:port।
javascript
// अपने वास्तविक प्रॉक्सी विवरण से प्रतिस्थापित करें
const proxyUrl = 'http://username:password@proxy.scrapeless.com:8000';
चरण 3: एजेント बनाएं
अपने प्रॉक्सी URL के साथ HttpsProxyAgent का उदाहरण बनाएं।
javascript
const agent = new HttpsProxyAgent(proxyUrl);
चरण 4: अनुरोध करें
fetch विकल्पों में बनाए गए agent ऑब्जेक्ट को पास करें।
javascript
const targetUrl = 'https://example.com/data';
fetch(targetUrl, { agent })
.then(response => {
console.log(`स्थिति: ${response.status}`);
return response.text();
})
.then(text => console.log(text.substring(0, 200) + '...'))
.catch(error => console.error('Fetch त्रुटि:', error));
यह विधि सुनिश्चित करती है कि इस विशेष fetch कॉल के लिए सभी ट्रैफ़िक आपके प्रॉक्सी के माध्यम से रूट किया जाए, जो आवश्यक गोपनीयता और भू-लक्षित क्षमताएं प्रदान करती है।
2. node-fetch के साथ SOCKS प्रॉक्सियों का उपयोग करना
SOCKS प्रॉक्सी (SOCKS4 और SOCKS5) अक्सर उनकी उच्च स्तर की गोपनीयता और सभी प्रकार के ट्रैफ़िक (केवल HTTP नहीं) को संभालने की क्षमता के लिए पसंद की जाती हैं। उन्हें node-fetch के साथ उपयोग करने के लिए, आपको socks-proxy-agent पैकेज की आवश्यकता होती है।
चरण 1: आवश्यक मॉड्यूल आयात करें
javascript
import fetch from 'node-fetch';
import { SocksProxyAgent } from 'socks-proxy-agent';
चरण 2: SOCKS प्रॉक्सी URL को परिभाषित करें
SOCKS प्रॉक्सी URL socks:// या socks5:// से शुरू होना चाहिए।
javascript
// अपने वास्तविक SOCKS5 प्रॉक्सी विवरण से प्रतिस्थापित करें
const socksProxyUrl = 'socks5://username:password@proxy.scrapeless.com:1080';
चरण 3: एजेंट बनाएं
अपने SOCKS प्रॉक्सी URL के साथ SocksProxyAgent का उदाहरण बनाएं।
javascript
const socksAgent = new SocksProxyAgent(socksProxyUrl);
चरण 4: अनुरोध करें
fetch विकल्पों में socksAgent को पास करें।
javascript
const targetUrl = 'https://example.com/data';
fetch(targetUrl, { agent: socksAgent })
.then(response => {
console.log(`स्थिति: ${response.status}`);
return response.text();
})
.then(text => console.log(text.substring(0, 200) + '...'))
.catch(error => console.error('Fetch त्रुटि:', error));
अनुशंसित प्रॉक्सी समाधान: Scrapeless Proxies
डेवलपर्स और व्यवसायों के लिए जो वेब स्क्रैपिंग और डेटा संग्रह के लिए Node.js पर निर्भर करते हैं, प्रॉक्सी नेटवर्क की गुणवत्ता महत्वपूर्ण है। Scrapeless Proxies एक मजबूत, उच्च-प्रदर्शन नेटवर्क प्रदान करता है जो node-fetch और इसके प्रॉक्सी एजेंटों के साथ एकीकृत करने के लिए पूरी तरह से उपयुक्त है।
Scrapeless एक व्यापक प्रॉक्सी नेटवर्क प्रदान करता है जिसमें आवासीय, स्थिर ISP, डेटा केंद्र और IPv6 प्रॉक्सी शामिल हैं, जिसमें 90 मिलियन से अधिक आईपी और 99.98% तक की सफलता दर है। यह विभिन्न उपयोग के मामलों का समर्थन करता है - वेब स्क्रैपिंग और मार्केट रिसर्च [1] से लेकर मूल्य निगरानी, SEO ट्रैकिंग, विज्ञापन सत्यापन और ब्रांड संरक्षण - जिससे यह दोनों व्यापार और पेशेवर डेटा कार्यप्रवाहों के लिए आदर्श बनता है।
Scrapeless प्रॉक्सीज़: Node.js डेवलपर्स के लिए मुख्य विशेषताएँ
Scrapeless का नेटवर्क Node.js अनुप्रयोगों की उच्च समवर्तीता और विश्वसनीयता के लिए अनुकूलित है:
- रेज़िडेंशियल प्रॉक्सीज़: 90 मिलियन से अधिक असली रेज़िडेंशियल आईपी, उच्च-अनामिनीटी स्क्रैपिंग के लिए सही।
- डेटा सेंटर प्रॉक्सीज़: उच्च प्रदर्शन वाले आईपी बड़े पैमाने पर स्वचालन और विशाल समवर्तीता के लिए अनुकूलित।
- प्रोटोकॉल समर्थन: HTTP, HTTPS, और SOCKS5 के लिए पूर्ण समर्थन, जो
https-proxy-agentऔरsocks-proxy-agentदोनों के साथ निर्बाध एकीकरण सुनिश्चित करता है। - उच्च सफलता दर: 99.98% की औसत सफलता दर आपके Node.js कोड में जटिल त्रुटि प्रबंधन और पुनः प्रयासों की आवश्यकता को कम करता है।
Scrapeless Proxies वैश्विक कवरेज, पारदर्शिता, और अत्यधिक स्थिर प्रदर्शन प्रदान करती है, जिससे यह अन्य विकल्पों की तुलना में एक मजबूत और अधिक विश्वसनीय विकल्प बनती है - विशेष रूप से व्यावसायिक-महत्वपूर्ण और पेशेवर डेटा अनुप्रयोगों के लिए जिन्हें विश्वसनीय यूनिवर्सल स्क्रैपिंग [2] और उत्पाद समाधान [3] की आवश्यकता होती है जो Node.js के साथ हो।
निष्कर्ष
node-fetch के साथ प्रॉक्सीज़ का एकीकरण, https-proxy-agent और socks-proxy-agent जैसे विशेषज्ञ एजेंट पुस्तकालयों का उपयोग करता है। Scrapeless Proxies जैसे उच्च गुणवत्ता वाले प्रॉक्सी प्रदाता के साथ इन एजेंटों को सही तरीके से कॉन्फ़िगर करके, आप सुनिश्चित कर सकते हैं कि आपके Node.js अनुप्रयोग वेब अनुरोध ऐसे करते हैं जो सफलता के लिए आवश्यक गुमनामी, गति, और विश्वसनीयता के साथ डेटा अधिग्रहण करते हैं।
संदर्भ
[1] Node.js दस्तावेज़: वर्ग: http.Agent
[2] npm: node-fetch
[3] npm: https-proxy-agent
[4] npm: socks-proxy-agent
[5] IETF RFC 1928: SOCKS प्रोटोकॉल संस्करण 5
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



