Как обойти защиту яндекса от ботов?
Имеется сервис балабоба Смысл данного сервиса это продолжение вашей истории.
Я захотел написать простой скрипт который будет продолжать за вас историю не заставляя вас идти в браузер.
Создал данный код:
import requests
story = input("Введи начало истории: ")
json_data = {
'query': f'{story}',
'intro': 0,
'filter': 1,
}
response = requests.post('https://yandex.ru/lab/api/yalm/text3', headers=headers, json=json_data)
print(response.text)
Но с данным кодом Яндекс присылал мне ошибку 403.
Я решил симулировать свой браузер что бы получить данные и сделал такой код:
import requests
story = input("Введи начало истории: ")
cookies = {
'Тут мои куки'
}
headers = {
'authority': 'yandex.ru',
'accept': '*/*',
'accept-language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
'content-type': 'application/json',
'device-memory': '8',
'downlink': '0.95',
'dpr': '1',
'ect': '4g',
'origin': 'https://yandex.ru',
'referer': 'https://yandex.ru/lab/yalm?style=0',
'rtt': '250',
'sec-ch-ua': '"Opera";v="93", "Not/A)Brand";v="8", "Chromium";v="107"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 OPR/93.0.0.0 (Edition Yx 05)',
'viewport-width': '948',
}
json_data = {
'query': f'{story}',
'intro': 0,
'filter': 1,
}
response = requests.post('https://yandex.ru/lab/api/yalm/text3', cookies=cookies,
headers=headers, json=json_data)
print(response.text)
И тут начинается самое интересно, я скинул этот скрипт знакомому и у него все успешно работает. Но как только я запускаю данный скрипт, мне возвращается 403. Я проверил этот скрипт на 5 разных компах, и с прокси, и юзаерагнты ботов гугла и яндекса ставил. Все бесполезно.
Может подскажете в чем может быть ошибка и палево для яндекса?
Ответы (1 шт):
Используй fakeuseragent ссылка на pypi :(https://pypi.org/project/fake_user_agent/)