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

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

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

23-Sep-2024

aiohttp का क्या है?

aiohttp Python के लिए एक शक्तिशाली अतुल्यकालिक HTTP क्लाइंट/सर्वर फ्रेमवर्क है। यह Python की asyncio लाइब्रेरी का उपयोग करता है ताकि समवर्ती नेटवर्क संचालन को सक्षम किया जा सके, जिससे यह वेब स्क्रैपिंग, वेब डेवलपमेंट और किसी भी नेटवर्क-बद्ध ऑपरेशन जैसे कार्यों के लिए अत्यधिक कुशल हो जाता है।

सुविधाएँ:

  • अतुल्यकालिक I/O: गैर-अवरोधी नेटवर्क संचालन के लिए asyncio के ऊपर बनाया गया।
  • क्लाइंट और सर्वर सपोर्ट: HTTP क्लाइंट और सर्वर दोनों कार्यान्वयन प्रदान करता है।
  • वेबसोकेट्स सपोर्ट: वेबसोकेट्स प्रोटोकॉल के लिए मूल समर्थन।
  • उच्च प्रदर्शन: एक साथ कई कनेक्शन को कुशलतापूर्वक संभालना।
  • विस्तार योग्यता: उन्नत अनुकूलन के लिए मिडलवेयर, सिग्नल और प्लगइन्स का समर्थन करता है।

पूर्वापेक्षाएँ

aiohttp का उपयोग शुरू करने से पहले, सुनिश्चित करें कि आपके पास है:

aiohttp के साथ शुरुआत करना

स्थापना

pip का उपयोग करके aiohttp स्थापित करें:

bash Copy
pip install aiohttp

बेसिक उदाहरण: GET अनुरोध करना

यहां बताया गया है कि aiohttp का उपयोग करके सरल GET अनुरोध कैसे करें:

python Copy
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 Copy
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())

आउटपुट:

Copy
“दुनिया जैसा हमने इसे बनाया है, यह हमारी सोच की एक प्रक्रिया है। इसे हमारी सोच को बदले बिना नहीं बदला जा सकता।” — अल्बर्ट आइंस्टीन
“यह हमारे चुनाव हैं, हैरी, जो दिखाते हैं कि हम वास्तव में क्या हैं, हमारी क्षमताओं से कहीं अधिक।” — जे.के. राउलिंग
... (अतिरिक्त उद्धरण)

CapSolver और aiohttp के साथ कैप्चा को हैंडल करना

इस खंड में, हम यह पता लगाएंगे कि कैप्चा को बायपास करने के लिए CapSolver को aiohttp के साथ कैसे एकीकृत किया जाए। CapSolver एक बाहरी सेवा है जो विभिन्न प्रकार के कैप्चा को हल करने में मदद करती है, जिसमें ReCaptcha V2 और captcha शामिल हैं।

हम CapSolver का उपयोग करके ReCaptcha V2 को हल करने और फिर उस पृष्ठ तक पहुँचने का प्रदर्शन करेंगे जिसके लिए कैप्चा हल करने की आवश्यकता होती है।

उदाहरण: CapSolver और aiohttp के साथ ReCaptcha V2 को हल करना

सबसे पहले, CapSolver पैकेज स्थापित करें:

bash Copy
pip install capsolver

अब, यहां बताया गया है कि आप ReCaptcha V2 को कैसे हल कर सकते हैं और अपने अनुरोध में समाधान का उपयोग कैसे कर सकते हैं:

python Copy
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 Copy
async def solve_captcha():
    solution = capsolver.solve({
        "type": "captchaTaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": SITE_KEY
    })
    return solution['solution']['gRecaptchaResponse']

aiohttp के साथ प्रॉक्सी को हैंडल करना

अपने अनुरोधों को प्रॉक्सी के माध्यम से रूट करने के लिए, proxy पैरामीटर निर्दिष्ट करें:

python Copy
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 Copy
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 Copy
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% अनुपालन सुनिश्चित करते हैं। हम अपनी सेवाओं के जिम्मेदार उपयोग की प्रोत्साहना करते हैं। अधिक जानकारी के लिए, कृपया हमारी सेवा की शर्तें और गोपनीयता नीति पर जाएं।

अधिक

क्लाउडफ़्लेर त्रुटि 1006, 1007, 1008
क्लाउडफ़्लेयर त्रुटि 1006, 1007, 1008 हल करने का समाधान | कैसे ठीक करें

क्लाउडफ़ेयर त्रुटि 1006, 1007 या 1008 के साथ परेशान हैं? इन एक्सेस अस्वीकृतियों को हल करने और अपने वेब क्रॉलिंग अनुभव को बढ़ाने के लिए व्यावहारिक समाधान सीखें।

Cloudflare
Logo of CapSolver

Nikolai Smirnov

05-Dec-2025

AI-LLM: भविष्य का समाधान रिस्क नियंत्रण के लिए छवि पहचान एवं CAPTCHA हल करना
एआई-एलएलएम: जोखिम नियंत्रण छवि संज्ञान और कैप्चा हल करने के लिए भविष्य का समाधान

एक गहरा अध्ययन कैसे बड़े भाषा मॉडल ग्राफिकल कैप्चा हल करते हैं, शून्य-शॉट तर्क और CNN की यथार्थता के संयोजन के माध्यम से आधुनिक जोखिम नियंत्रण के लिए।

Logo of CapSolver

Rajinder Singh

05-Dec-2025

कैप्चा कैसे हल करें जब वेब स्क्रैपिंग करते हैं Scrapling और CapSolver के साथ
कैप्चा कैसे हल करें जब वेब स्क्रैपिंग करते हैं Scrapling और CapSolver के साथ

स्क्रैपलिंग + कैपसॉल्वर रीकैपचा v2/v3 और क्लाउडफ़्लेयर टर्नस्टाइल बायपास के साथ स्वचालित स्क्रैपिंग सक्षम करता है।

web scraping
Logo of CapSolver

Rajinder Singh

05-Dec-2025

सेलेनियम में यूजर-एजेंट बदलें
यूजर-एजेंट बदलें | सेलेनियम में चरण एवं शीर्ष विधियां

Selenium में User Agent बदलना बहुत सारे वेब स्क्रैपिंग कार्यों के लिए एक महत्वपूर्ण कदम है। यह ऑटोमेशन स्क्रिप्ट को एक सामान्य ब्राउज़र के रूप में छिपाने में मदद करता है...

The other captcha
Logo of CapSolver

Lucas Mitchell

05-Dec-2025

कैपसॉल्वर एक्सटेंशन के साथ क्लाउडफ़्लेयर टर्नस्टाइल को हल करने के लिए `क्रियाकलाप` के लिए आवश्यक है कैसे निर्धारित करें
कैसे पहचानें कि `कार्य` क्लाउडफ़ेयर टर्नस्टाइल को हल करने के लिए आवश्यक है कैपसॉल्वर एक्सटेंशन के साथ

क्लाउडफ़्लेयर टर्नस्टाइल प्रभावी कैप्चा हल करने के लिए कार्रवाई की पहचान सीखें। Capsolver के उपकरणों और तकनीकों का उपयोग करने के लिए हमारे चरण-दर-चरण गाइड का अनुसरण करें।

Cloudflare
Logo of CapSolver

Rajinder Singh

05-Dec-2025

9प्रॉक्सी
9Proxy की शक्ति की खोज करें: व्यापक समीक्षा

इस लेख में, हम आपको 9proxy क्या है और जो वे प्रदान करते हैं सेवाएं दिखाएंगे।

web scraping
Logo of CapSolver

Rajinder Singh

04-Dec-2025