не удалось запросить веб-сайт - PullRequest
0 голосов
/ 30 мая 2018

когда я пытаюсь отправить запрос на этот сайт:

import requests
requests.get('https://www.ldoceonline.com/')

Возникло исключение

requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

Странная часть, если вы заходите на сайт обычным способом (черезбраузер), они полностью функциональны и отвечают очень хорошо.Только когда вы пытаетесь получить информацию с помощью метода веб-скребков, вы сталкиваетесь с этим ответом.

Есть идеи, как его успешно очистить?

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Если вы проверяете код модуля запросов , вы найдете значения заголовков по умолчанию , используемых при выполнении запроса.Вышеупомянутый заголовок User-Agent также находится там.

Похоже, группа веб-ресурсов (преднамеренно или непреднамеренно) не обрабатывает запросы должным образом, если заголовок User-Agent установлен на"python-запросы / 2.21.0".

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

import requests

url = 'https://www.ldoceonline.com/'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"}

r = requests.get(url,headers=headers)
r.raise_for_status()
0 голосов
/ 30 мая 2018

Попробуйте использовать заголовок для получения правильного ответа.

import requests

res = requests.get('https://www.ldoceonline.com/',headers={"User-Agent":"Mozilla/5.0"})
print(res.status_code)

Вывод:

200
...