Python में प्रॉक्सी कैसे घुमाएं

Advanced Data Extraction Specialist
परिचय
Python में घूर्णनशील प्रॉक्सी वेब स्क्रैपिंग और स्वचालन को स्थिर और विश्वसनीय बनाती हैं। एकल IP का उपयोग करने से ब्लॉक्स और दर सीमाएँ लग सकती हैं। यह मार्गदर्शिका प्रभावी रूप से प्रॉक्सी घुमाने के 10 व्यावहारिक तरीकों को कवर करती है। एक तेज और सरल समाधान के लिए, Scrapeless का उपयोग करने पर विचार करें, जो स्वचालित रूप से प्रॉक्सी घुमाता है।
1. मैन्युअल रूप से प्रॉक्सी की सूची का उपयोग करना
निष्कर्ष: एक सूची से प्रॉक्सी को मैन्युअल रूप से स्विच करना पहचान से बचने में मदद करता है।
चरण:
- प्रॉक्सी की एक सूची तैयार करें (
proxies = ["http://ip:port", ...]
)। - प्रत्येक अनुरोध के लिए प्रॉक्सी का चयन करने के लिए
random.choice(proxies)
का उपयोग करें। - प्रॉक्सी को
requests
याhttpx
में पास करें:
python
import requests, random
proxies = ["http://111.111.111.111:8080", "http://222.222.222.222:8080"]
proxy = random.choice(proxies)
response = requests.get("https://example.com", proxies={"http": proxy, "https": proxy})
print(response.text)
आवेदन: छोटे पैमाने पर स्क्रैपिंग या बैन के बिना कई एंडपॉइंट्स का परीक्षण करना।
2. अनुरोध सत्र के साथ प्रॉक्सी घुमाना
निष्कर्ष: एक सत्र ऑब्जेक्ट कई अनुरोधों के बीच निरंतर प्रॉक्सी उपयोग की अनुमति देता है।
चरण:
requests.Session()
बनाएं।- प्रत्येक सत्र के लिए अपनी सूची से एक प्रॉक्सी असाइन करें।
python
import requests, random
session = requests.Session()
proxies = ["http://111.111.111.111:8080", "http://222.222.222.222:8080"]
session.proxies.update({"http": random.choice(proxies), "https": random.choice(proxies)})
response = session.get("https://example.com")
print(response.status_code)
आवेदन: जब स्क्रैपिंग पृष्ठों की आवश्यकता होती है जो स्थायी सत्र की मांग करती हैं।
3. थर्ड-पार्टी प्रॉक्सी लाइब्रेरी का उपयोग करना
निष्कर्ष: requests-ip-rotator
जैसी लाइब्रेरी प्रॉक्सी घुमाने को सरल बनाती हैं।
चरण:
python
# requests-ip-rotator का उदाहरण
from requests_ip_rotator import ApiGatewaySession
session = ApiGatewaySession("https://example.com")
response = session.get("https://example.com")
print(response.text)
आवेदन: IP घुमाने की आवश्यकता वाले API या आवर्ती अनुरोधों के लिए सर्वोत्तम।
4. टॉर का उपयोग करके प्रॉक्सी घुमाना
निष्कर्ष: टॉर सर्किट के माध्यम से मुफ्त प्रॉक्सी घुमाने की सुविधा प्रदान करता है।
चरण:
- टॉर (
sudo apt install tor
) औरstem
Python लाइब्रेरी स्थापित करें। - टॉर SOCKS प्रॉक्सी (
127.0.0.1:9050
) के माध्यम से कनेक्ट करें। - टॉर कमांड के साथ IP बदलें।
python
import requests
proxies = {"http": "socks5h://127.0.0.1:9050", "https": "socks5h://127.0.0.1:9050"}
response = requests.get("https://example.com", proxies=proxies)
print(response.text)
आवेदन: प्रॉक्सी के लिए भुगतान किए बिना गुमनाम डेटा स्क्रैपिंग।
5. घुमने वाली प्रॉक्सी प्रदाताओं का उपयोग करना
निष्कर्ष: भुगतान किए गए प्रदाता उच्च विश्वसनीयता और गति सुनिश्चित करते हैं।
चरण:
- Luminati, ScraperAPI या Scrapeless जैसी सेवा के लिए सदस्यता लें।
- प्रमाणीकरण के साथ उनके एंडपॉइंट्स का उपयोग करें।
- प्रत्येक अनुरोध के लिए स्वचालित रूप से प्रॉक्सी घुमाएँ।
python
import requests
api_key = "YOUR_API_KEY"
url = f"http://proxyprovider.com?api_key={api_key}&url=https://example.com"
response = requests.get(url)
print(response.text)
आवेदन: कम समय से डाउनटाइम के साथ बड़े पैमाने पर स्क्रैपिंग परियोजनाएँ।
6. सेलेनियम में प्रॉक्सी घुमाना
निष्कर्ष: वेब स्वचालन के लिए IP बैन से बचने के लिए प्रॉक्सी घुमाने की आवश्यकता होती है।
चरण:
python
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import random
proxies = ["111.111.111.111:8080", "222.222.222.222:8080"]
chrome_options = Options()
chrome_options.add_argument(f'--proxy-server={random.choice(proxies)}')
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://example.com")
आवेदन: कई IPs के साथ स्वचालित ब्राउज़िंग और परीक्षण।
7. स्क्रैपी में प्रॉक्सी घुमाना
निष्कर्ष: स्क्रैपी प्रॉक्सी घुमाने के लिए मिडलवेयर का समर्थन करता है।
चरण:
HttpProxyMiddleware
सक्षम करें।settings.py
में प्रॉक्सी की एक सूची परिभाषित करें।- अनुरोध प्रति घुमाने के लिए मिडलवेयर का उपयोग करें।
python
DOWNLOADER_MIDDLEWARES = {
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 1,
}
PROXY_LIST = ['http://111.111.111.111:8080', 'http://222.222.222.222:8080']
आवेदन: स्क्रैपी स्पाइडर के साथ बड़े पैमाने पर स्क्रैपिंग।
8. httpx के साथ एसिंक्रोनस प्रॉक्सी घुमाना
निष्कर्ष: एसिंक्रोनस लाइब्रेरी कई प्रॉक्सी के साथ समांतर अनुरोधों की अनुमति देती हैं।
python
import httpx, asyncio, random
proxies = ["http://111.111.111.111:8080", "http://222.222.222.222:8080"]
async def fetch(url):
proxy = random.choice(proxies)
async with httpx.AsyncClient(proxies={"http": proxy, "https": proxy}) as client:
response = await client.get(url)
print(response.status_code)
asyncio.run(fetch("https://example.com"))
आवेदन: कई URL के लिए उच्च गति से स्क्रैपिंग।
9. Scrapeless के साथ ऑटो प्रॉक्सी घुमाना
निष्कर्ष: Scrapeless स्वचालित रूप से प्रॉक्सी घुमाता है, विकास को सरल बनाता है।
लाभ:
- मैन्युअल प्रॉक्सी सूची प्रबंधन की आवश्यकता नहीं है
- पायथन स्क्रैपिंग स्क्रिप्ट के साथ इंटीग्रेटेड
- उच्च समवर्तीता और विश्वसनीयता का समर्थन करता है
एप्लिकेशन: कुशलता की तलाश करने वाले शुरुआती और पेशेवरों के लिए आदर्श।
10. पर्यावरण चर के साथ घूर्णन करने वाले प्रॉक्सी
निष्कर्ष: पर्यावरण चर का उपयोग करके प्रॉक्सी कॉन्फ़िगरेशन को डायनामिक रूप से बदलें।
चरण:
- प्रॉक्सी को
.env
फ़ाइल में स्टोर करें। - स्क्रिप्ट में प्रॉक्सी को लोड और यादृच्छिक रूप से चुनें।
python
import os, random
from dotenv import load_dotenv
import requests
load_dotenv()
proxies = os.getenv("PROXIES").split(",")
proxy = random.choice(proxies)
response = requests.get("https://example.com", proxies={"http": proxy, "https": proxy})
एप्लिकेशन: कॉन्फ़िगर करने योग्य स्क्रैपिंग पाइपलाइनों के लिए उपयोगी।
तुलना सारांश
विधि | उपयोग में आसानी | लागत | स्केलेबिलिटी | सर्वश्रेष्ठ उपयोग मामला |
---|---|---|---|---|
मैनुअल सूची | आसान | मुफ्त | कम | छोटे प्रोजेक्ट |
अनुरोध सत्र | आसान | मुफ्त | मध्यम | निरंतर सत्र |
प्रॉक्सी पुस्तकालय | मध्यम | मुफ्त/भुगतान | मध्यम | एपीआई कॉल |
टॉर | मध्यम | मुफ्त | कम | गुमनाम स्क्रैपिंग |
भुगतान प्रदाता | आसान | भुगतान | उच्च | बड़े पैमाने पर स्क्रैपिंग |
सेलेनियम | मध्यम | मुफ्त/भुगतान | मध्यम | स्वचालन कार्य |
स्क्रैपी | मध्यम | मुफ्त | उच्च | बड़े मकड़ी प्रोजेक्ट |
Async httpx | कठिन | मुफ्त | उच्च | उच्च समवर्तीता |
स्क्रैपलेस | बहुत आसान | भुगतान | उच्च | सभी-एक समाधान |
एन्व वेरिएबल्स | मध्यम | मुफ्त | मध्यम | कॉन्फ़िगर करने योग्य पाइपलाइन |
मुख्य बिंदु
- घूर्णन करने वाले प्रॉक्सी को रोकने और स्क्रैपिंग स्थिरता बनाए रखने के लिए आवश्यक है।
- पायथन में अनेक विधियाँ समर्थित हैं, मैनुअल सूचियों से लेकर असिंक्रोनस और भुगतान समाधान तक।
- स्क्रैपलेस सबसे आसान और सबसे विश्वसनीय रोटेशन विधि प्रदान करता है।
अक्सर पूछे जाने वाले प्रश्न
Q1: मुझे पायथन में प्रॉक्सी क्यों घुमानी चाहिए?
आईपी बैन, दर सीमाएँ से बचने और विश्वसनीय स्क्रैपिंग सुनिश्चित करने के लिए।
Q2: क्या मैं रोटेशन के लिए मुफ्त प्रॉक्सी का उपयोग कर सकता हूँ?
हाँ, लेकिन विश्वसनीयता और गति कम हो सकती है। बड़े प्रोजेक्ट्स के लिए भुगतान सेवाओं की सिफारिश की जाती है।
Q3: क्या स्क्रैपलेस को कोडिंग की आवश्यकता है?
न्यूनतम कोडिंग की आवश्यकता है; यह पायथन स्क्रिप्ट के साथ सहजता से एकीकृत होता है।
Q4: क्या मैं सेलेनियम में प्रॉक्सी घुमा सकता हूँ?
हाँ, विभिन्न प्रॉक्सी सर्वर के साथ ब्राउज़र विकल्प कॉन्फ़िगर करके।
Q5: मुझे प्रॉक्सी कितनी बार घुमानी चाहिए?
यह आपके अनुरोध की मात्रा और लक्षित वेबसाइट की नीतियों पर निर्भर करता है।
सिफारिश की गई समाधान
बिना परेशानी के अनुभव के लिए, स्क्रैपलेस का प्रयास करें, जो स्वचालित रूप से प्रॉक्सी रोटेशन को संभालता है और डेटा संग्रह पर ध्यान केंद्रित करने के लिए मैनुअल प्रबंधन की जगह लेता है।
संदर्भ
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।