2016-08-21 202 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