2016-07-14 60 views
0

我下面就API本教程中使用Python抓:抓住API字典JSON与Python

https://www.youtube.com/watch?v=pxofwuWTs7c

的网址给:

{"date":"1468500743","ticker":{"buy":"27.96","high":"28.09","last":"27.97","low":"27.69","sell":"27.97","vol":"41224179.11399996"}} 

我试图按照视频和抢'最后'的数据。

import urllib2 
import json 

url = 'https://www.okcoin.cn/api/v1/ticker.do?symbol=ltc_cny' 
json_obj=urllib2.urlopen(url) 
data= json.load(json_obj) 
for item in data['ticker']:print item['last'] 

键入最后一行蟒蛇返回后:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: string indices must be integers 
+0

如果你只是在做这在Python命令行中,再次按下Enter。 –

+0

指向该教程的链接缺失... – Felix

+0

“票证”密钥不是阵列,因此您无法对其进行迭代。 – flazzarini

回答

4

我觉得你刚才看错服务器返回的有效载荷。在这种情况下,由json模块转换的字典中的ticker密钥的类型不是list

所以,你应该做到以下几点

import urllib2 
import json 

url = 'https://www.okcoin.cn/api/v1/ticker.do?symbol=ltc_cny' 
json_obj = urllib2.urlopen(url) 
data = json.load(json_obj) 
print data['ticker']['last']