पायथन के aiohttp का उपयोग करते हुए एक वेब अनुरोध करने के लिए, मैं तारीख त्रुटि के एक ब्राउज़र बाहर हो रही है?

वोट
0

मैं उपयोग करने के लिए कोशिश कर रहा हूँ aynscioऔर aiohttpएक वेब पेज का अनुरोध करने के संकुल। हालांकि, वेब पेज प्रतिक्रिया है:

<p class=warning-title> Please upgrade your web browser. </p>  <br/>
<p class=p-top-30>This browser version is outdated, and may not be fully compatible with our website. Please upgrade to a newer version or use another browser.    </p>

यह वास्तव में मैं का उपयोग करने की कोशिश कर रहा हूँ, लेकिन इसके बजाय पेज मुखपृष्ठ लोड नहीं करता है।

कोड

from fake_useragent import UserAgent
import ssl
from bs4 import BeautifulSoup
import asyncio
import aiohttp

ua = UserAgent()

hdr = {'User-Agent': str(ua.chrome),
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
       'Accept-Encoding': 'none',
       'Accept-Language': 'en-US,en;q=0.5',
       'Connection': 'keep-alive'}

ssl_ctx = ssl.create_default_context()
ssl_ctx.check_hostname = False
ssl_ctx.verify_mode = ssl.CERT_NONE

url = '...'

async def parse_website(session):
    async with session.get(url) as response:
        html = await response.text()

    soup = BeautifulSoup(html, 'html.parser')

    print(soup)

async with asyncio.Semaphore(3):
    async with aiohttp.TCPConnector(ssl=ssl_ctx, limit=None) as connector:
        async with aiohttp.ClientSession(connector=connector, headers=hdr) as session:
            for i in range(1):
                await parse_website(session)

मैं शामिल नहीं की कोशिश की है headersअंतिम पंक्ति के लिए तीसरे में तर्क async with aiohttp.ClientSession(connector=connector) as session:है, लेकिन फिर प्रतिक्रिया है कि मैं काफी लंबे समय से कैप्चा के लिए इंतजार नहीं किया है। इसलिए मैं उपयोग करने के लिए headersकैप्चा बाईपास के लिए तर्क है, लेकिन मैं लगातार एक मिल Please upgrade your browserप्रतिक्रिया। मैं भी जोड़ने की कोशिश की cookies={}एक ही पंक्ति के लिए async with aiohttp.ClientSession(connector=connector, headers=hdr, cookies={}) as session:, लेकिन एक ही मूल प्रतिक्रिया ब्राउज़र कह पुराना हो चुका है मिलता है।

मैं भी केवल एक यूआरएल अनुरोध यहाँ दिखा रहा हूँ। एक बार जब मैं इस काम कर रहा है मैं हजारों पैमाने पर होगा, ताकि के कारण है कि मैं के साथ इस काम करने के लिए कोशिश कर रहा हूँ asyncioऔर aiohttpसंकुल।

कोई मुझे बता सकते हैं जहाँ मैं गलत यहाँ जा रहा हूँ?

02/12/2019 को 23:51
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

पायथन के aiohttp का उपयोग करते हुए एक वेब अनुरोध करने के लिए, मैं तारीख त्रुटि के एक ब्राउज़र बाहर हो रही है?

वोट
0

मैं उपयोग करने के लिए कोशिश कर रहा हूँ aynscioऔर aiohttpएक वेब पेज का अनुरोध करने के संकुल। हालांकि, वेब पेज प्रतिक्रिया है:

<p class="warning-title"> Please upgrade your web browser. </p>  <br/>
<p class="p-top-30">This browser version is outdated, and may not be fully compatible with our website. Please upgrade to a newer version or use another browser.    </p>

यह वास्तव में मैं का उपयोग करने की कोशिश कर रहा हूँ, लेकिन इसके बजाय पेज मुखपृष्ठ लोड नहीं करता है।

कोड

from fake_useragent import UserAgent
import ssl
from bs4 import BeautifulSoup
import asyncio
import aiohttp

ua = UserAgent()

hdr = {'User-Agent': str(ua.chrome),
       'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
       'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
       'Accept-Encoding': 'none',
       'Accept-Language': 'en-US,en;q=0.5',
       'Connection': 'keep-alive'}

ssl_ctx = ssl.create_default_context()
ssl_ctx.check_hostname = False
ssl_ctx.verify_mode = ssl.CERT_NONE

url = '...'

async def parse_website(session):
    async with session.get(url) as response:
        html = await response.text()

    soup = BeautifulSoup(html, 'html.parser')

    print(soup)

async with asyncio.Semaphore(3):
    async with aiohttp.TCPConnector(ssl=ssl_ctx, limit=None) as connector:
        async with aiohttp.ClientSession(connector=connector, headers=hdr) as session:
            for i in range(1):
                await parse_website(session)

मैं शामिल नहीं की कोशिश की है headersअंतिम पंक्ति के लिए तीसरे में तर्क async with aiohttp.ClientSession(connector=connector) as session:है, लेकिन फिर प्रतिक्रिया है कि मैं काफी लंबे समय से कैप्चा के लिए इंतजार नहीं किया है। इसलिए मैं उपयोग करने के लिए headersकैप्चा बाईपास के लिए तर्क है, लेकिन मैं लगातार एक मिल Please upgrade your browserप्रतिक्रिया। मैं भी जोड़ने की कोशिश की cookies={}एक ही पंक्ति के लिए async with aiohttp.ClientSession(connector=connector, headers=hdr, cookies={}) as session:, लेकिन एक ही मूल प्रतिक्रिया ब्राउज़र कह पुराना हो चुका है मिलता है।

मैं भी केवल एक यूआरएल अनुरोध यहाँ दिखा रहा हूँ। एक बार जब मैं इस काम कर रहा है मैं हजारों पैमाने पर होगा, ताकि के कारण है कि मैं के साथ इस काम करने के लिए कोशिश कर रहा हूँ asyncioऔर aiohttpसंकुल।

कोई मुझे बता सकते हैं जहाँ मैं गलत यहाँ जा रहा हूँ?

02/12/2019 को 23:51
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more