403 Forbidden Ошибка при очистке сайта, пользовательские агенты уже используются и обновляются. Есть идеи? - PullRequest
0 голосов
/ 19 мая 2019

Как видно из названия выше, я получаю ошибку 403.Сгенерированные URL-адреса действительны, я могу распечатать их, а затем открыть их в своем браузере.

У меня есть пользовательский агент, точно такой же, который мой браузер отправляет при доступе к странице, которую я хочуСоскоб вытащил прямо из хромированных devtools.Я пытался использовать сеансы вместо прямого запроса, я пытался использовать urllib, и я пытался использовать универсальный request.get.

Вот код, который я использую, эти 403-е.Тот же результат с request.get и т. Д.

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36'}

session = requests.Session()
req = session.get(URL, headers=headers)

Так что, да, я предполагаю, что я не создаю запись useragent, чтобы он мог сказать, что я очищаю.Но я не уверен, что мне не хватает, или как это выяснить.

1 Ответ

0 голосов
/ 19 мая 2019

Я получил все заголовки от DevTools, и я начал удалять заголовки один за другим, и я обнаружил, что ему нужно только Accept-Language, и ему не нужно User-Agent, и ему не нужен сеанс.

import requests

url = 'https://www.g2a.com/lucene/search/filter?&search=The+Elder+Scrolls+V:+Skyrim&currency=nzd&cc=NZD'

headers = {
    'Accept-Language': 'en-US;q=0.7,en;q=0.3',
}

r = requests.get(url, headers=headers)

data = r.json()

print(data['docs'][0]['name'])

Результат:

The Elder Scrolls V: Skyrim Special Edition Steam Key GLOBAL
...