Запрос возврата Ответ 447 - PullRequest
0 голосов
/ 31 декабря 2018

Я пытаюсь очистить сайт, используя запросы и BeautifulSoup.Когда я запускаю код для получения тегов веб-страницы, объект супа остается пустым.Я распечатал объект запроса, чтобы увидеть, был ли запрос успешным, но это не так.Результат печати показывает ответ 447. Я не могу найти то, что 447 означает как код состояния HTTP.Кто-нибудь знает, как я могу успешно подключиться и очистить сайт?

Код:

r = requests.get('https://foobar)
soup = BeautifulSoup(r.text, 'html.parser')
print(soup.get_text())

Output:
''

Когда я печатаю объект запроса:

print(r)

Output:
<Response [447]>

Ответы [ 2 ]

0 голосов
/ 01 января 2019

Скорее всего, ваша активность подтверждена сайтом, поэтому он блокирует ваш доступ, и вы можете решить эту проблему, включив заголовки в запрос к сайту.

import bs4
import requests
session=requests.session()
headers={"User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}
req=session.get(url,headers=headers)
soup=bs4.BeautifulSoup(req.text)
0 голосов
/ 31 декабря 2018

Похоже, у них есть программное обеспечение для определения браузера, и им не нравится ваш браузер.(имеется в виду, что им не нравится отсутствие браузера)

Хотя 447 не является стандартным статусом ошибки для http, он иногда используется в smtp как слишком много запросов.

Не зная, чтовеб-сайт, который вы просматриваете, вряд ли кто-то сможет дать вам больше информации.Скорее всего, вам просто нужно добавить заголовки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...