urllib2 urlopen非常随机

时间:2012-03-27 14:00:18

标签: python urllib2

由于某些原因,我从以下url获取JSON数据的这部分只会有效。有时它会返回404错误,并抱怨缺少标题属性。如果我将其粘贴到Web浏览器上,它将100%的工作时间。所以我确定链接没有被破坏或者什么。

我在Python中遇到以下错误:

AttributeError: 'HTTPError' object has no attribute 'header'

这是什么原因可以修复? 顺便说一句,我删除了API密钥,因为它是私有的。

try:
    url = "http://api.themoviedb.org/3/search/person?api_key=API-KEY&query=natalie+portman"
    header = { 'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16' }
    req = urllib2.Request(url, None, header)
    f = urllib2.urlopen(req)
except urllib2.HTTPError, e:
    print e.code
    print e.msg
    print e.header
    print e.fp.read()

1 个答案:

答案 0 :(得分:6)

如记录here所示,您需要明确接受JSON。只需在第一行之后添加第二行。

req = urllib2.Request(url, None, header)
req.add_header('Accept', 'application/json')