请求返回响应447

时间:2018-12-31 03:15:34

标签: python-3.x http web-scraping beautifulsoup request

我正在尝试使用请求和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 :(得分:3)

该站点很可能会确认您的活动,因此它阻止了您的访问,您可以通过在请求站点中包含标头来解决此问题。

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)

答案 1 :(得分:1)

听起来好像它们具有浏览器检测软件,但是不喜欢您的浏览器。 (这意味着他们不喜欢您缺少浏览器)

虽然447不是http的标准错误状态,但有时由于太多请求而在smtp中使用。

在不知道您正在浏览哪个特定网站的情况下,不可能有人能为您提供更多信息。您只需要添加标题即可。