Staram się używać aynscio
i aiohttp
paczek do żądania strony internetowej. Jednakże reakcja strona internetowa jest:
<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>
To faktycznie nie załadować stronę próbuję dostęp, ale zamiast strony głównej.
KOD
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)
Próbowałem nie tym headers
argumentem w trzeciej do ostatniej linii async with aiohttp.ClientSession(connector=connector) as session:
, ale wtedy odpowiedź jest taka, że nie wystarczająco długo czekać na captcha. Więc muszę użyć headers
argumentu ominąć captcha ale konsekwentnie uzyskać Please upgrade your browser
odpowiedź. Próbowałem też dodanie cookies={}
do tej samej linii async with aiohttp.ClientSession(connector=connector, headers=hdr, cookies={}) as session:
, ale uzyskać ten sam oryginalny odpowiedź mówiąc przeglądarka jest nieaktualna.
Ja też tylko pokazując jedną prośbę url tutaj. Raz mam tej pracy będę skalować do tysięcy, więc dlatego staram się, aby tę pracę z asyncio
i aiohttp
paczek.
Może ktoś mi powiedzieć, gdzie mam zamiar źle tutaj?