
Rajinder Singh
Deep Learning Researcher

aiohttp Python के लिए एक शक्तिशाली अतुल्यकालिक HTTP क्लाइंट/सर्वर फ्रेमवर्क है। यह Python की asyncio लाइब्रेरी का उपयोग करता है ताकि समवर्ती नेटवर्क संचालन को सक्षम किया जा सके, जिससे यह वेब स्क्रैपिंग, वेब डेवलपमेंट और किसी भी नेटवर्क-बद्ध ऑपरेशन जैसे कार्यों के लिए अत्यधिक कुशल हो जाता है।
सुविधाएँ:
asyncio के ऊपर बनाया गया।aiohttp का उपयोग शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:
pip का उपयोग करके aiohttp स्थापित करें:
pip install aiohttp
यहां बताया गया है कि aiohttp का उपयोग करके सरल GET अनुरोध कैसे करें:
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'))
आइए उद्धरण स्क्रैप करने के लिए वेबसाइट को स्क्रैप करें ताकि उद्धरण और उनके लेखकों को निकाला जा सके:
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 एक बाहरी सेवा है जो विभिन्न प्रकार के कैप्चा को हल करने में मदद करती है, जिसमें ReCaptcha V2 और captcha शामिल हैं।
हम CapSolver का उपयोग करके ReCaptcha V2 को हल करने और फिर उस पृष्ठ तक पहुँचने का प्रदर्शन करेंगे जिसके लिए कैप्चा हल करने की आवश्यकता होती है।
सबसे पहले, CapSolver पैकेज स्थापित करें:
pip install capsolver
अब, यहां बताया गया है कि आप ReCaptcha V2 को कैसे हल कर सकते हैं और अपने अनुरोध में समाधान का उपयोग कैसे कर सकते हैं:
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 स्रोत कोड में पाई जाती है।
captcha को हल करने के लिए, capsolver.solve() फ़ंक्शन में कार्य प्रकार को समायोजित करें:
async def solve_captcha():
solution = capsolver.solve({
"type": "captchaTaskProxyless",
"websiteURL": PAGE_URL,
"websiteKey": SITE_KEY
})
return solution['solution']['gRecaptchaResponse']
अपने अनुरोधों को प्रॉक्सी के माध्यम से रूट करने के लिए, proxy पैरामीटर निर्दिष्ट करें:
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())
आप CookieJar का उपयोग करके कुकीज़ का प्रबंधन कर सकते हैं:
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())
आप aiohttp के साथ कस्टम हेडर भेज सकते हैं और POST अनुरोध कर सकते हैं:
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 जैसे कैप्चा को बायपास कर सकते हैं, जिससे आप ऐसी सामग्री तक पहुँच सकते हैं जो अन्यथा प्रतिबंधित हो सकती है।
अपनी विशिष्ट आवश्यकताओं के अनुरूप इन उदाहरणों का विस्तार करने में संकोच न करें। हमेशा उन वेबसाइटों की सेवा की शर्तों का सम्मान करना याद रखें जिन्हें आप स्क्रैप करते हैं और कानूनी दिशानिर्देशों का पालन करते हैं।
खुश स्क्रैपिंग!
जानें कि क्लाउडफ़्लेयर एरर 1020 एक्सेस अस्वीकृत के क्या कारण होते हैं, कैसे वेब एप्लिकेशन फ़ायरवॉल और बॉट डिटेक्शन काम करते हैं, और विकासकर्ता कैसे वैध स्वचालन प्रक्रियाओं में गलत सकारात्मकों को कम कर सकते हैं।

सीखें कैसे कैपसॉल्वर n8n टेम्पलेट का उपयोग AWS WAF-सुरक्षित उत्पाद पृष्ठों को मॉनिटर करने, चुनौतियां हल करने, मूल्य निकालने, परिवर्तनों की तुलना करने और स्वचालित रूप से चेतावनियां ट्रिगर करने के लिए करें।
