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

在网络上搜索以从 feedparser 的 media_content 元素中提取 url 时,我已经看到了这种语法的多种用法,但它对我不起作用。我是 python 新手,所以我确定只是我没有正确访问字典。我只想要原始网址作为字符串。

谢谢!

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 回答