Python скрипт и капча Yandex
Такая ситуация, написал скрипт на pyhton для получения данных с yandex map/navi Локально, в PyCharm отрабатывает на ура. Залил скрипт на VDS. Не работат, Yandex отдаёт 403 попытка обойти капчу. Поменял IP на VDS, не помогло, отдаёт 403 попытка обойти капчу. User Agent отдаю. Если дёрнуть страницу curl`ом, капча не запрашивается. В чём может быть причина? код
from requests_html import HTMLSession
session = HTMLSession()
st_accept = "text/html"
st_useragent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36"
headers = {"Accept": st_accept, "User-Agent": st_useragent}
r = session.get(f'https://yandex.ru/navi', headers=headers)
r.html.render()
r_string = r.text
print(r_string)
Ответы (1 шт):
Автор решения: Master Wenom
→ Ссылка
В общем надо было просто передать правильные заголовки, вот такие:
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,'
'application/signed-exchange;v=b3;q=0.9',
'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'Connection': 'keep-alive',
'Host': 'market.yandex.ru',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/83.0.4103.61 Safari/537.36',
}