2016-08-21 9 views
1

私はPythonを使い始めています。ここで私がやろうとしていることがあります。 BingのAPIにアクセスして、その日のURLの画像を取得したい。私はjsonファイルを正常にインポートすることができますが、私は画像のURLを抽出するためにデータを解析することはできません。ここで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 

はFYI、ここでJSONファイルは次のようになります。 がhttp://jsonviewer.stack.hu/#http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US

+0

''images''の下には要素が1つしかありません。どうして' data ["images"] [3] 'を選んだのですか? – DeepSpace

+0

あなたが与えた例から、0のインデックス – vsminkov

答えて

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

「画像」配列内のオブジェクトは1つだけです

0

imagesリストには1つの要素しかないので、data['images'][0]['url']が必要です。

「jsonビューア」の「ビューア」タブにリンクしていることも確認できます。

+0

sweetを使用する必要があります!ありがとう、それは良いものです。 – Robin

関連する問題