1

次のコードは正常に動作します。

if 'media_content' in entry:
                mediaContent=entry.media_content
            else:
                mediaContent='No Media'

しかし、これは私にエラーを与えます:

 if 'media_content' in entry:
                mediaContent=entry.media_content['url']
            else:
                mediaContent='No Media'

これはエラーです:

list indices must be integers, not str

Web で検索して、feedparser の media_content 要素から URL を取得するときに、この構文が複数使用されているのを見てきましたが、うまくいきません。私はpythonが初めてなので、辞書に適切にアクセスしていないだけだと確信しています。生のURLを文字列として欲しいだけです。

ありがとう!

4

1 に答える 1

1

entry.media_contentエントリのリストで、それぞれが辞書です:

for item in entry.media_content:
    print item['url']

リストされた最初のものをつかむことができます:

if 'media_content' in entry:
    mediaContent = entry.media_content[0]['url']
于 2013-08-09T11:22:30.500 に答える