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

Rajinder Singh
Deep Learning Researcher
23-Sep-2024
aiohttp का क्या है?

aiohttp Python के लिए एक शक्तिशाली अतुल्यकालिक HTTP क्लाइंट/सर्वर फ्रेमवर्क है। यह Python की asyncio लाइब्रेरी का उपयोग करता है ताकि समवर्ती नेटवर्क संचालन को सक्षम किया जा सके, जिससे यह वेब स्क्रैपिंग, वेब डेवलपमेंट और किसी भी नेटवर्क-बद्ध ऑपरेशन जैसे कार्यों के लिए अत्यधिक कुशल हो जाता है।
सुविधाएँ:
- अतुल्यकालिक I/O: गैर-अवरोधी नेटवर्क संचालन के लिए
asyncioके ऊपर बनाया गया। - क्लाइंट और सर्वर सपोर्ट: HTTP क्लाइंट और सर्वर दोनों कार्यान्वयन प्रदान करता है।
- वेबसोकेट्स सपोर्ट: वेबसोकेट्स प्रोटोकॉल के लिए मूल समर्थन।
- उच्च प्रदर्शन: एक साथ कई कनेक्शन को कुशलतापूर्वक संभालना।
- विस्तार योग्यता: उन्नत अनुकूलन के लिए मिडलवेयर, सिग्नल और प्लगइन्स का समर्थन करता है।
पूर्वापेक्षाएँ
aiohttp का उपयोग शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
- Python 3.7 या उच्चतर
- Python पैकेज को स्थापित करने के लिए pip
aiohttp के साथ शुरुआत करना
स्थापना
pip का उपयोग करके aiohttp स्थापित करें:
bash
pip install aiohttp
बेसिक उदाहरण: GET अनुरोध करना
यहां बताया गया है कि aiohttp का उपयोग करके सरल GET अनुरोध कैसे करें:
python
import asyncio
import aiohttp
async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
status = response.status
text = await response.text()
print(f'स्थिति कोड: {status}')
print('प्रतिक्रिया बॉडी:', text)
if __name__ == '__main__':
asyncio.run(fetch('https://httpbin.org/get'))
वेब स्क्रैपिंग उदाहरण: एक वेबसाइट से उद्धरण स्क्रैप करना
आइए उद्धरण स्क्रैप करने के लिए वेबसाइट को स्क्रैप करें ताकि उद्धरण और उनके लेखकों को निकाला जा सके:
python
import asyncio
import aiohttp
from bs4 import BeautifulSoup
async def fetch_content(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as response:
return await response.text()
async def scrape_quotes():
url = 'http://quotes.toscrape.com/'
html = await fetch_content(url)
soup = BeautifulSoup(html, 'html.parser')
quotes = soup.find_all('div', class_='quote')
for quote in quotes:
text = quote.find('span', class_='text').get_text(strip=True)
author = quote.find('small', class_='author').get_text(strip=True)
print(f'{text} — {author}')
if __name__ == '__main__':
asyncio.run(scrape_quotes())
आउटपुट:
“दुनिया जैसा हमने इसे बनाया है, यह हमारी सोच की एक प्रक्रिया है। इसे हमारी सोच को बदले बिना नहीं बदला जा सकता।” — अल्बर्ट आइंस्टीन
“यह हमारे चुनाव हैं, हैरी, जो दिखाते हैं कि हम वास्तव में क्या हैं, हमारी क्षमताओं से कहीं अधिक।” — जे.के. राउलिंग
... (अतिरिक्त उद्धरण)
CapSolver और aiohttp के साथ कैप्चा को हैंडल करना
इस खंड में, हम यह पता लगाएंगे कि कैप्चा को बायपास करने के लिए CapSolver को aiohttp के साथ कैसे एकीकृत किया जाए। CapSolver एक बाहरी सेवा है जो विभिन्न प्रकार के कैप्चा को हल करने में मदद करती है, जिसमें ReCaptcha V2 और captcha शामिल हैं।
हम CapSolver का उपयोग करके ReCaptcha V2 को हल करने और फिर उस पृष्ठ तक पहुँचने का प्रदर्शन करेंगे जिसके लिए कैप्चा हल करने की आवश्यकता होती है।
उदाहरण: CapSolver और aiohttp के साथ ReCaptcha V2 को हल करना
सबसे पहले, CapSolver पैकेज स्थापित करें:
bash
pip install capsolver
अब, यहां बताया गया है कि आप ReCaptcha V2 को कैसे हल कर सकते हैं और अपने अनुरोध में समाधान का उपयोग कैसे कर सकते हैं:
python
import asyncio
import os
import aiohttp
import capsolver
# अपनी CapSolver API कुंजी सेट करें
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "आपकी CapSolver API कुंजी")
PAGE_URL = os.getenv("PAGE_URL", "https://example.com") # कैप्चा वाला पृष्ठ URL
SITE_KEY = os.getenv("SITE_KEY", "SITE_KEY") # कैप्चा साइट कुंजी
async def solve_recaptcha_v2():
solution = capsolver.solve({
"type": "ReCaptchaV2TaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": SITE_KEY
})
return solution['solution']['gRecaptchaResponse']
async def access_protected_page():
captcha_response = await solve_recaptcha_v2()
print("कैप्चा हल हो गया!")
async with aiohttp.ClientSession() as session:
data = {
'g-recaptcha-response': captcha_response,
# वेबसाइट द्वारा आवश्यक होने पर अन्य फ़ॉर्म डेटा शामिल करें
}
async with session.post(PAGE_URL, data=data) as response:
content = await response.text()
print('पृष्ठ सामग्री:', content)
if __name__ == '__main__':
asyncio.run(access_protected_page())
नोट: PAGE_URL को कैप्चा वाले पृष्ठ के URL से बदलें और SITE_KEY को कैप्चा की साइट कुंजी से बदलें। साइट कुंजी आमतौर पर कैप्चा विजेट के भीतर पृष्ठ के HTML स्रोत कोड में पाई जाती है।
CapSolver के साथ captcha को हल करना
captcha को हल करने के लिए, capsolver.solve() फ़ंक्शन में कार्य प्रकार को समायोजित करें:
python
async def solve_captcha():
solution = capsolver.solve({
"type": "captchaTaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": SITE_KEY
})
return solution['solution']['gRecaptchaResponse']
aiohttp के साथ प्रॉक्सी को हैंडल करना
अपने अनुरोधों को प्रॉक्सी के माध्यम से रूट करने के लिए, proxy पैरामीटर निर्दिष्ट करें:
python
import asyncio
import aiohttp
async def fetch(url, proxy):
async with aiohttp.ClientSession() as session:
async with session.get(url, proxy=proxy) as response:
return await response.text()
async def main():
proxy = 'http://username:password@proxyserver:port'
url = 'https://httpbin.org/ip'
content = await fetch(url, proxy)
print('प्रतिक्रिया बॉडी:', content)
if __name__ == '__main__':
asyncio.run(main())
aiohttp के साथ कुकीज़ को हैंडल करना
आप CookieJar का उपयोग करके कुकीज़ का प्रबंधन कर सकते हैं:
python
import asyncio
import aiohttp
async def main():
jar = aiohttp.CookieJar()
async with aiohttp.ClientSession(cookie_jar=jar) as session:
await session.get('https://httpbin.org/cookies/set?name=value')
# कुकीज़ प्रदर्शित करें
for cookie in jar:
print(f'{cookie.key}: {cookie.value}')
if __name__ == '__main__':
asyncio.run(main())
उन्नत उपयोग: कस्टम हेडर और POST अनुरोध
आप aiohttp के साथ कस्टम हेडर भेज सकते हैं और POST अनुरोध कर सकते हैं:
python
import asyncio
import aiohttp
async def main():
headers = {
'User-Agent': 'Mozilla/5.0 (compatible)',
'Accept-Language': 'en-US,en;q=0.5',
}
data = {
'username': 'testuser',
'password': 'testpass',
}
async with aiohttp.ClientSession() as session:
async with session.post('https://httpbin.org/post', headers=headers, data=data) as response:
json_response = await response.json()
print('प्रतिक्रिया JSON:', json_response)
if __name__ == '__main__':
asyncio.run(main())
बोनस कोड
CapSolver पर शीर्ष कैप्चा समाधानों के लिए अपना बोनस कोड प्राप्त करें: scrape। इसे भुनाने के बाद, आपको प्रत्येक रिचार्ज के बाद अतिरिक्त 5% बोनस मिलेगा, असीमित बार।

निष्कर्ष
aiohttp के साथ, आप अतुल्यकालिक वेब स्क्रैपिंग कार्यों को कुशलतापूर्वक कर सकते हैं और एक साथ कई नेटवर्क संचालन को संभाल सकते हैं। इसे CapSolver के साथ एकीकृत करने से आप ReCaptcha V2 और captcha जैसे कैप्चा को बायपास कर सकते हैं, जिससे आप ऐसी सामग्री तक पहुँच सकते हैं जो अन्यथा प्रतिबंधित हो सकती है।
अपनी विशिष्ट आवश्यकताओं के अनुरूप इन उदाहरणों का विस्तार करने में संकोच न करें। हमेशा उन वेबसाइटों की सेवा की शर्तों का सम्मान करना याद रखें जिन्हें आप स्क्रैप करते हैं और कानूनी दिशानिर्देशों का पालन करते हैं।
खुश स्क्रैपिंग!
अनुपालन अस्वीकरण: इस ब्लॉग पर प्रदान की गई जानकारी केवल सूचनात्मक उद्देश्यों के लिए है। CapSolver सभी लागू कानूनों और विनियमों का पालन करने के लिए प्रतिबद्ध है। CapSolver नेटवर्क का उपयोग अवैध, धोखाधड़ी या दुरुपयोग करने वाली गतिविधियों के लिए करना सख्त वर्जित है और इसकी जांच की जाएगी। हमारे कैप्चा समाधान उपयोगकर्ता अनुभव को बेहतर बनाने के साथ-साथ सार्वजनिक डेटा क्रॉलिंग के दौरान कैप्चा कठिनाइयों को हल करने में 100% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।
अधिक

2026 में IP बैन: उनके काम करने का तरीका और उन्हें पार करने के व्यावहारिक तरीके
2026 में आईपी बैन बायपास करने के तरीके सीखें हमारे विस्तृत गाइड के साथ। आधुनिक आईपी ब्लॉकिंग तकनीकों और रिजिडेंशियल प्रॉक्सी और कैप्चा सॉल्वर्स जैसे व्यावहारिक समाधानों की खोज करें।

Nikolai Smirnov
26-Jan-2026

ब्राउज़र का उपयोग बनाम ब्राउज़रबेस: एआई एजेंट्स के लिए कौन सा ब्राउज़र ऑटोमेशन टूल बेहतर है?
AI एजेंट स्वचालन के लिए ब्राउज़र के उपयोग की तुलना ब्राउज़रबेस के साथ करें। सुचारू वर्कफ़्लो के लिए CapSolver के साथ CAPTCHA हल करने के तरीके, विशेषताएं और मूल्य निर्धारण खोजें।

Rajinder Singh
26-Jan-2026

2026 में उपयोग करने योग्य शीर्ष डेटा निकासी उपकरण (पूर्ण तुलना)
2026 के लिए सबसे अच्छे डेटा निकासी टूल्स खोजें। शीर्ष वेब स्क्रैपिंग, ETL, और AI-संचालित प्लेटफॉर्म की तुलना करें जो आपके डेटा संग्रह और AI वर्कफ़्लो को स्वचालित कर सकें।

Rajinder Singh
21-Jan-2026

कैप्चा कैसे हल करें ब्राउज़र4 में कैपसॉल्वर इंटीग्रेशन के साथ
उच्च बहुतायत ब्राउज़र4 स्वचालन के साथ संयोजित करें, जो बड़े पैमाने पर वेब डेटा निकास में CAPTCHA चुनौतियों का निपटारा करने के लिए CapSolver का उपयोग करता है।

Rajinder Singh
21-Jan-2026

2026 में वेब स्वचालन के लिए सबसे अच्छे 7 AI एजेंट्स उपकरण
2026 में वेब ऑटोमेशन के लिए सबसे अच्छे 7 एआई एजेंट टूल्स की खोज करें। हम CrewAI, MultiOn और अधिक की जांच करते हैं, उन्हें उत्पादन एआई एजेंट के लिए वास्तविक वेब प्रदर्शन और प्रतिरोधकता द्वारा रैंक करते हैं।

Rajinder Singh
20-Jan-2026

असीमित कैप्चा हल करें सबसे अच्छे कैप्चा सॉल्वर के साथ
सीखें अनगिनत कैप्चा को बिना रुके हुए हल करें सबसे अच्छे कैप्चा सॉल्वर के साथ, एक विस्तृत गाइड जो कैप्चा समाधानों के सेटअप और स्वचालन के बारे में है

Rajinder Singh
20-Jan-2026

