python 3:收到403:使用请求时出现禁止错误

时间:2016-07-28 18:48:02

标签: python-3.x url request wget

HTTP错误403:使用以下两个命令之一生成Forbidden。

requests.get('http://www.allareacodes.com')

urllib.request.urlopen('http://www.allareacodes.com')

然而,我能够以chrome浏览此网站并查看其来源。此外,我的cygwin中的wget也能够抓取html源。

任何人都知道如何通过单独使用python包获取本网站的来源?

1 个答案:

答案 0 :(得分:1)

您的请求代码中存在错误。它应该是:

import requests
r = requests.get('http://www.allareacodes.com')
print(r.text)

但是,在您的情况下,该网站有一个“noindex”文件,可以阻止脚本获取原始HTML数据。作为一种解决方案,只需假冒您的标题,以便网站认为您是真正的用户。

示例:

import requests
r = requests.get('http://www.allareacodes.com', headers={
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"
})
print(r.text)