urllib2.urlopen addinfourl实例没有属性'__getitem__'

时间:2013-05-24 18:52:11

标签: python json

我正在运行这个python 3脚本:

data = json.load(urllib2.urlopen('http://data.mtgox.com/api/1/BTCUSD/ticker')[2])

运行时出现此错误:

Attribute error: addinfourl instance has no attribute'__getitem__'

 19 while True:
 20   lcd.clear()
 21   url = 'http://data.mtgox.com/api/1/BTCUSD/ticker'
 22   data = json.load(urllib2.urlopen(url))['return']
 23   lcd.message(datetime.now().strftime('%b %d %H:%M:%S\n'))
 24   lcd.message( "MtGox: " + data["return"]["last"]["display"])
 25   sleep(10)

1 个答案:

答案 0 :(得分:4)

我认为你要做的是:

url = 'http://data.mtgox.com/api/1/BTCUSD/ticker'
data = json.load(urllib2.urlopen(url))['return']

urllib2.urlopen不返回列表,因此您无法对其进行索引。此外,您要获取的数据是dict,因此您需要使用有效密钥来访问数据。索引不起作用。