2

我对 Python 很陌生,我有一个 json 新闻提要,我需要获得一个选定的“标题”和图像“src”。

我设法打印了所有的“标题”和“1024 风景”的图像“src”。例如,如何仅打印第二个标题?我该如何解决那个特定的问题?提要是: http: //www.stuff.co.nz/_json/ipad-big-picture

for story in data.get('stories', []):

    print 'Title:', story['title']

    for img in story.get('images', []):

        for var in img.get('variants', []):
            if var.get('layout') == "1024 Landscape":
                print '    img:', (var.get('src')).split('/')[-1], ' layout:', var.get('layout')

谢谢

4

1 回答 1

1

首先获取您的故事对象(字典列表):

stories = data.get('stories', [])

获得此列表后,您可以按索引访问:

if len(stories) >= 2:
    print stories[1]['title']

或者先尝试捕获异常:

i = 1
try:
    print stories[i]['title']
except IndexError:
    print "Story does not exist at index %d" % i

因此,当尝试获取特定故事的所有 1024 张风景图像时,它可能如下所示:

imgs = set()
for img in stories[1].get('images', []):
    for variant in img.get('variants', []):
        if variant.get('layout') == '1024 Landscape':
            imgs.add(variant['src'])
print imgs
set([u'http://static.stuff.co.nz/1341147692/827/7202827.jpg'])
于 2012-07-02T01:21:48.923 回答