我正在学习Python,我正在尝试使用命令请求访问网站。我正在做以下事情:
import requests
requests.get("http://www.charitystars.com")
但是我得到<Response [504]>
,这应该是一个错误,因为汤命令soup = BeautifulSoup(r.content)
返回一个空行。我尝试了其他网站,我得到<Response [200]>
,并且汤有效。所以我想知道为什么命令在第一个网站上不起作用,以及Response 504实际意味着什么。
答案 0 :(得分:5)
此页面不喜欢脚本/漫游器,它会检查标题user-agent
。
它还可能需要此信息才能显示正确的页面 - 桌面,平板电脑,smartfon不同。
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
r = requests.get("http://www.charitystars.com/", headers=headers)
print(r.status_code)
BTW: requests
默认使用"User-Agent": "python-requests/2.12.1"
您可以使用门户网站http://httpbin.org查看您的请求。
import requests
r = requests.get("http://httpbin.org/get")
print(r.text)
答案 1 :(得分:0)
我收到负载平衡超时错误504。解决方案是在后台运行受影响的功能。我的云提供商提供了此功能,请检查您的情况。
此外,您的云提供商可能拒绝访问该网站。检查他们是否有白名单。
希望有帮助。