HTTP错误406:不可接受的Python urllib2

cfl*_*n17 4 python urllib2 python-2.7

我使用下面的代码得到以下错误.

HTTP错误406:不可接受的Python urllib2

这是我使用beautifulsoup解析页面之前的第一步.

import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
url = "http://www.choicemoney.us/retail.php"
response = opener.open(url)
Run Code Online (Sandbox Code Playgroud)

所有帮助非常感谢.

ipi*_*nak 6

由请求标识的资源仅能够根据请求中发送的接受报头生成具有不可接受的内容特征的响应实体.[RFC2616]

根据代码和RFC描述的内容,我假设您需要正确设置User-Agent标头的键和值.

这些是正确的例子:

  • Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11

  • Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36

  • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A

只需更换以下内容.

opener.addheaders = [('User-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A')]
Run Code Online (Sandbox Code Playgroud)