Уведомления

Группа в Telegram: @pythonsu

#1 Июль 27, 2022 16:02:12

Naipalych
Зарегистрирован: 2022-07-27
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

как обойти ошибку 403 на таких сайтах как ozon и eldorado?

Добрый день!
Ситуация в общем такая:
пишу на python телеграмм бота, который действует так:
1. Пользователь вносит в программу список сайтов.
2. Бот каждый час направляет запрос на сайт, и если статус 200 то все ок.
3. Но если статус отличается от 200 то пользователю бота должно быть отправлено сообщение.
Собственно проблема заключается в том, что большинство сайтов например мвидео, магнит отправляют статус 200 все ок. Но есть сайты такие как ozon или eldorado которые несмотря на переданный словарь header c параметрами user.agent и т.д. выдают ошибку 403 (отказано в доступе). Запросы выполняю через библиотеку requests.
Подскажите, пожалуйста, что можно сделать в данном случае?

Пример кода:

import requests
headers = {
“Accept”: “application/json”,
“Accept-Encoding”: “br, gzip, deflate”,
“Accept-Language”: “ru,en;q=0.9,en-GB;q=0.8,en-US;q=0.7”,
“Host”: “httpbin.org”,
“Referer”: "https://httpbin.org/“,
”Sec-Ch-Ua“: ”\“ Not A;Brand\”;v=\“99\”, \“Chromium\”;v=\“102\”, \“Microsoft Edge\”;v=\“102\”“,
”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/102.0.5005.63 Safari/537.36 Edg/102.0.1245.33“,
”X-Amzn-Trace-Id“: ”Root=1-62a3330c-723e022541074b446b5835b4“
}
response = requests.get(”https://www.ozon.ru/", headers=headers)
print(response.status_code)

Офлайн

#2 Июль 27, 2022 20:49:34

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

как обойти ошибку 403 на таких сайтах как ozon и eldorado?

requests <=> selenium ?



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version