0

我正在创建一个 RSS 阅读器,我想在 Google App Engine 上使用 feedparser 提取 media:content 的 url 属性,但是当条目没有 media_content 属性时我遇到了问题。

for feedURL in feedURLs:
        logging.debug('feedURL iteration')
        feed=feedparser.parse(feedURL.sourceLink)
        for entry in feed.entries:
            logging.debug('entry iteration')
            title=entry.get('title')
            link=entry.get('link')
            description=entry.get('description')
            pubDate=entry.get('pubDate')
            image=entry.get('image')
            mediaContent=entry.media_content

如果我消除了 mediaContent 行,这会很好用,但是包含它时会失败。我认为这是因为只有少数条目具有 media:content 标签。有没有办法在 media:content 标签存在时获取它的 url,而当它不存在时将 mediaContent 设置为 None ?我在吠叫错误的树吗?

这是日志中的错误:

object has no attribute 'media_content' Traceback (most recent call last): File "/base/data/home/runtimes/python27/python27_lib/versions/third_party

谢谢!

4

1 回答 1

0

在各种和相关版本的提要中,您会经常发现这些问题。

文档字面意思是:“现实世界中的提要可能缺少元素,甚至是规范要求的元素。您应该始终在获取元素值之前测试元素的存在。永远不要假设元素存在。” 并提出解决方案:

'media_content' in entry
False # in your case or True if the element exist
于 2013-08-09T09:45:16.133 回答