HTTPX के साथ Scrapeless प्रॉक्सियों का उपयोग करने का तरीका: एक सम्पूर्ण गाइड
Specialist in Anti-Bot Strategies
आज, हम HTTPX के साथ प्रॉक्सी का उपयोग करना सीखेंगे। एक प्रॉक्सी आपके स्क्रैपर और उस साइट के बीच होती है जिसे आप स्क्रैप करना चाहते हैं। आपका स्क्रैपर लक्षित साइट के लिए प्रॉक्सी सर्वर को एक अनुरोध भेजता है। प्रॉक्सी फिर लक्षित साइट को प्राप्त करती है और इसे आपके स्क्रैपर को वापस लौटाती है।
अनुप्रवेशन प्रॉक्सी का उपयोग कैसे करें
संक्षेप में, हमारे सभी अनुरोध proxy_url पर जाते हैं। नीचे एक अनुप्रवेश प्रॉक्सी का उपयोग करते हुए एक उदाहरण है। इसका अर्थ है कि हम उपयोगकर्ता नाम या पासवर्ड का उपयोग नहीं कर रहे हैं।
python
import httpx
proxy_url = "http://localhost:8030"
with httpx.Client(proxy=proxy_url) as client:
ip_info = client.get("https://geo.brdtest.com/mygeo.json")
print(ip_info.text)
प्रमाणीकरण प्रॉक्सी का उपयोग कैसे करें
जब एक प्रॉक्सी उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है, तो इसे "प्रामाणिकृत" प्रॉक्सी कहा जाता है। ये प्रमाण-पत्र आपके खाते को प्रमाणित करने और आपको प्रॉक्सी से कनेक्शन देने के लिए उपयोग किए जाते हैं।
प्रमाणीकरण के साथ, हमारा proxy_url इस प्रकार दिखता है: http://<username>:<password>@<proxy_url>:<port_number>। नीचे दिए गए उदाहरण में, हम अपने zone और username का उपयोग प्रमाणीकरण स्ट्रिंग के उपयोगकर्ता भाग को बनाने के लिए करते हैं।
हम अपने मूल कनेक्शन के लिए Scrapeless के आवासीय प्रॉक्सियों का उपयोग कर रहे हैं।
python
import httpx
username = "your-username"
zone = "your-zone-name"
password = "your-password"
proxy_url = f"http://scrapeless-customer-{username}-zone-{zone}:{password}@scrapeless.proxy.io:33335"
ip_info = httpx.get("https://geo.brdtest.com/mygeo.json", proxy=proxy_url)
print(ip_info.text)
ऊपर दिया गया कोड काफी सरल है। यह किसी भी प्रकार की प्रॉक्सी सेटअप करने का आधार है।
- सबसे पहले, हम अपनी कॉन्फ़िगरेशन वेरिएबल्स:
username,zoneऔरpasswordबनाते हैं। - हम उन्हें अपने
proxy_urlको बनाने के लिए उपयोग करते हैं:f"http://scrapeless-customer-{username}-zone-{zone}:{password}@scrapeless.proxy.io:33335". - हम प्रॉक्सी कनेक्शन के बारे में सामान्य जानकारी प्राप्त करने के लिए API को एक अनुरोध भेजते हैं।
आपका उत्तर इस प्रकार दिखाई दे सकता है:
json
{"country":"US","asn":{"asnum":20473,"org_name":"AS-VULTR"},"geo":{"city":"","region":"","region_name":"","postal_code":"","latitude":37.751,"longitude":-97.822,"tz":"America/Chicago"}}
घूर्णन प्रॉक्सी का उपयोग कैसे करें
जब हम घूर्णन प्रॉक्सी का उपयोग करते हैं, तो हम प्रॉक्सी की एक सूची बनाते हैं और उनमें से यादृच्छिक रूप से चुनते हैं। नीचे दिए गए कोड में, हम countries की एक सूची बनाते हैं। जब हम अनुरोध करते हैं, तो हम सूची से एक यादृच्छिक देश का उपयोग करने के लिए random.choice() का उपयोग करते हैं। हमारा proxy_url देश के अनुसार स्वरूपित किया जाता है।
नीचे दिए गए उदाहरण में घूर्णन प्रॉक्सी की एक छोटी सूची बनाई गई है।
python
import httpx
import asyncio
import random
countries = ["us", "gb", "au", "ca"]
username = "your-username"
proxy_url = "scrapeless.proxy.io:33335"
datacenter_zone = "your-zone"
datacenter_pass = "your-password"
for random_proxy in countries:
print("----------connection info-------------")
datacenter_proxy = f"http://scrapeless-customer-{username}-zone-{datacenter_zone}-country-{random.choice(countries)}:{datacenter_pass}@{proxy_url}"
ip_info = httpx.get("https://geo.brdtest.com/mygeo.json", proxy=datacenter_proxy)
print(ip_info.text)
यह उदाहरण वास्तव में आपके पहले से बहुत विभिन्न नहीं है। यहां प्रमुख अंतर हैं:
- हमने देशों की एक श्रृंखला बनाई है:
["us", "gb", "au", "ca"]। - एकल अनुरोध बनाने के बजाय, हम कई अनुरोध बनाते हैं। प्रत्येक बार जब हम एक नया अनुरोध बनाते हैं, तो हम प्रत्येक बार हमारे
proxy_urlबनाते समय एक यादृच्छिक देश चुनने के लिएrandom.choice(countries)का उपयोग करते हैं।
एक बैकअप प्रॉक्सी कनेक्शन कैसे बनाएं
उपरोक्त उदाहरणों में, हमने केवल डेटा केंद्र और मुफ्त प्रॉक्सियों का उपयोग किया है। मुफ्त प्रॉक्सी बहुत विश्वसनीय नहीं होती हैं। डेटा केंद्र की प्रॉक्सियाँ अधिक कठिन साइटों के साथ अवरुद्ध होने की प्रवृत्ति रखती हैं।
इस उदाहरण में, हम safe_get() नामक एक फ़ंक्शन बनाते हैं। जब हम इस फ़ंक्शन को कॉल करते हैं, तो हम सबसे पहले डेटा केंद्र कनेक्शन का उपयोग करके यूआरएल प्राप्त करने का प्रयास करते हैं। जब यह विफल हो जाता है, तो हम अपने आवासीय कनेक्शन पर वापस जाते हैं।
python
import httpx
from bs4 import BeautifulSoup
import asyncio
country = "us"
username = "your-username"
proxy_url = "scrapeless.proxy.io:33335"
datacenter_zone = "datacenter_proxy1"
datacenter_pass = "datacenter-password"
residential_zone = "residential_proxy1"
residential_pass = "residential-password"
cert_path = "/home/path/to/scrapeless_proxy_ca/New SSL certificate - MUST BE USED WITH PORT 33335/Scrapeless SSL certificate (port 33335).crt"
datacenter_proxy = f"http://scrapeless-customer-{username}-zone-{datacenter_zone}-country-{country}:{datacenter_pass}@{proxy_url}"
residential_proxy = f"http://scrapeless-customer-{username}-zone-{residential_zone}-country-{country}:{residential_pass}@{proxy_url}"
async def safe_get(url: str):
async with httpx.AsyncClient(proxy=datacenter_proxy) as client:
print("trying with datacenter")
response = await client.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.text, "html.parser")
if not soup.select_one("form[action='/errors/validateCaptcha']"):
print("response successful")
hi
प्रतिक्रिया लौटाएँ
प्रिंट("प्रतिक्रिया विफल")
httpx.AsyncClient(proxy=residential_proxy, verify=cert_path) के साथ असिंक्रोनस तरीके से करें:
प्रिंट("आवासीय के साथ प्रयास कर रहा है")
प्रतिक्रिया = await client.get(url)
प्रिंट("प्रतिक्रिया सफल")
प्रतिक्रिया लौटाएँ
async def मुख्य():
url = "https://www.amazon.com"
प्रतिक्रिया = await safe_get(url)
with open("out.html", "w") के रूप में फ़ाइल:
फ़ाइल.write(response.text)
asyncio.run(main())
यह उदाहरण इस लेख में जिन अन्य उदाहरणों से हम निपट चुके हैं, उससे थोड़ा अधिक जटिल है।
- अब हमारे पास कॉन्फ़िगरेशन वेरिएबल्स के दो सेट हैं, एक हमारे डेटा सेंटर कनेक्शन के लिए, और एक हमारे आवासीय कनेक्शन के लिए।
- इस बार, हम HTTPX की कुछ अधिक उन्नत कार्यक्षमता को पेश करने के लिए एक
AsyncClient()सत्र का उपयोग करते हैं। - पहले, हम
datacenter_proxyके साथ अपना अनुरोध बनाने का प्रयास करते हैं। - यदि हम उचित प्रतिक्रिया प्राप्त करने में विफल रहते हैं, तो हम अपने
residential_proxyका उपयोग करके अनुरोध को पुनः प्रयास करते हैं। कोड मेंverifyफ़्लैग भी नोट करें। Scrapeless के आवासीय प्रॉxies का उपयोग करते समय, आपको उनका SSL प्रमाण पत्र डाउनलोड और उपयोग करना होगा। - एक बार जब हमें ठोस प्रतिक्रिया मिल जाती है, तो हम पृष्ठ को एक HTML फ़ाइल में लिखते हैं। हम इस पृष्ठ को अपने ब्राउज़र में खोल सकते हैं और देख सकते हैं कि प्रॉक्सी ने वास्तव में क्या पहुंचा और हमें भेजा।
यदि आप ऊपर दिए गए कोड का प्रयास करते हैं, तो आपका आउटपुट और परिणामी HTML फ़ाइल लगभग इस तरह दिखनी चाहिए:
आधार केंद्र के साथ प्रयास कर रहा है
प्रतिक्रिया विफल
आवासीय के साथ प्रयास कर रहा है
प्रतिक्रिया सफल
Scrapeless प्रॉक्सियों की मदद कैसे होती है
जैसा कि आपने इस लेख में शायद देखा है, Scrapeless एक व्यापक प्रॉक्सी समाधान प्रदान करता है जो आधुनिक डेटा संग्रह आवश्यकताओं के लिए डिज़ाइन किया गया है। 195+ देशों में 90 मिलियन से अधिक आवासीय आईपी के साथ, सफलता दर 99.98% तक, और वेब स्क्रैपिंग, बाजार अनुसंधान, मूल्य निगरानी, SEO ट्रैकिंग, विज्ञापन सत्यापन, और ब्रांड सुरक्षा सहित विभिन्न उपयोग के मामलों के लिए समर्थन के साथ, Scrapeless व्यवसाय और पेशेवर डेटा वर्कफ़्लो के लिए आदर्श है।
आवासीय प्रॉक्सियाँ
195+ देशों में 90 मिलियन से अधिक वास्तविक आवासीय आईपी के साथ, Scrapeless आवासीय प्रॉक्सियाँ स्क्रैपिंग, बाजार की बुद्धिमत्ता, कीमत ट्रैकिंग, और अधिक के लिए आदर्श हैं।
मुख्य विशेषताएँ:
- स्वचालित प्रॉक्सी घुमाव
- 99.98% औसत सफलता दर
- सटीक भू-लक्ष्यीकरण (देश/शहर)
- HTTP/HTTPS/SOCKS5 प्रोटोकॉल
- <0.5s प्रतिक्रिया समय
- उत्कृष्ट गति और स्थिरता
- केवल $1.80/GB
IPv6 प्रॉक्सियाँ
भारी शेडिंग कार्यों के लिए डिज़ाइन किए गए उच्च गति, समर्पित IPv6 प्रॉक्सियाँ।
विशेषताएँ:
- HTTP(S) और SOCKS5 समर्थन
- स्वचालित IPv6 प्रॉक्सी घुमाव
- समर्पित आईपी के साथ उच्च अज्ञातता
- 50M+ प्रीमियम IPv6 पूल
- CCPA और GDPR के अनुरूप
- प्रति-GB बिलिंग
डेटा सेंटर प्रॉक्सियाँ
व्यापक स्वचालन, थोक स्क्रैपिंग, और भारी समवर्ती कार्यों के लिए अनुकूलित उच्च-प्रदर्शन डेटा सेंटर आईपी।
विशेषताएँ:
- 99.99% अपटाइम
- अत्यधिक तेज प्रतिक्रिया समय
- स्थिर लंबी अवधि सत्र
- API एक्सेस और आसान एकीकरण
- उच्च बैंडविड्थ, कम विलंबता
- HTTP/HTTPS/SOCKS5 का समर्थन करता है
स्थिर ISP प्रॉक्सियाँ
ई-कॉमर्स खाता संचालन (eBay, PayPal, Amazon), दीर्घकालिक पहचान निरंतरता, और कम ब्लॉक जोखिम के लिए आदर्श।
विशेषताएँ:
- वास्तविक आवासीय आईपी
- 99.99% अपटाइम
- उच्च स्वीकृति दरें और कम प्रतिबंध जोखिम
- भू-स्थान लक्ष्यीकरण
- HTTP/HTTPS/SOCKS5 प्रोटोकॉल
निष्कर्ष
जब आप HTTPX को Scrapeless प्रॉक्सियों के साथ मिलाते हैं, तो आपको वेब को स्क्रेप करने के लिए एक निजी, कुशल, और विश्वसनीय तरीका मिलता है। यदि आप प्रॉक्सियों को घुमाना चाहते हैं, तो यह Python के अंतर्निहित random पुस्तकालय का उपयोग करना उतना ही सरल है। डेटा सेंटर और आवासीय प्रॉक्सियों के संयोजन के साथ, आप एक निराधार कनेक्शन बना सकते हैं जो अधिकांश अवरोधन प्रणालियों को पार कर जाता है।
जैसा कि आपने सीखा है, Scrapeless आपके वेब स्क्रैपिंग परियोजनाओं के लिए पूरा पैकेज प्रदान करता है। 90 मिलियन से अधिक आईपी, 99.98% सफलता दर और 195+ देशों में कवरेज के साथ, Scrapeless आपके सभी डेटा संग्रह आवश्यकताओं को संभालने के लिए आदर्श विकल्प है—वेब स्क्रैपिंग और बाजार अनुसंधान से लेकर कीमत निगरानी, SEO ट्रैकिंग, विज्ञापन सत्यापन, और ब्रांड सुरक्षा तक।
आज ही Scrapeless प्रॉक्सियों के साथ अपने निःशुल्क परीक्षण की शुरुआत करें!
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



