2016-08-21 160 views
1

我刚刚开始使用Python,这就是我正在做的。我想访问Bing的API来获取当天网址的图片。我可以导入json文件,但后来我无法解析数据来提取图片的网址。用python解析JSON数据

这里是我的Python脚本:

import urllib, json 

url = "http://www.bing.com/HPImageArchive.aspx? format=js&idx=0&n=1&mkt=en-US" 
response = urllib.urlopen(url) 
data = json.loads(response.read()) 

print data 

print data["images"][3]["url"] 

我得到这个错误:

Traceback (most recent call last): 
    File "/Users/Robin/PycharmProjects/predictit/api.py", line 9, in <module> 
    print data["images"][3]["url"] 
IndexError: list index out of range 

仅供参考,这里是JSON文件的样子: http://jsonviewer.stack.hu/#http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US

+0

''images''下只有一个元素,为什么选择'data [“images”] [3]'? – DeepSpace

+0

从你给你的例子应该用0指数 – vsminkov

回答

0
print data["images"][0]["url"] 

有只是“图像”阵列中的一个对象

0

由于images列表中只有一个元素,因此您应该有data['images'][0]['url']

您还可以在链接到的“json查看器”的“查看器”选项卡下看到。

+0

甜!谢谢,那是好东西。 – Robin