2

私はPythonを初めて使用し、選択した「タイトル」と画像「src」を取得する必要があるjsonニュースフィードを持っています。

すべての「タイトル」と、「1024 ランドスケープ」と書かれた画像「src」だけを印刷することができました。たとえば、2 番目のタイトルだけを印刷するにはどうすればよいですか? その特定のものにどのように対処すればよいですか?フィードは次のとおりです: 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 に答える