【问题标题】:feedparser media_content attributefeedparser media_content 属性
【发布时间】:2013-08-09 02:59:30
【问题描述】:

我正在创建一个 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

谢谢!

【问题讨论】:

    标签: python google-app-engine rss feedparser


    【解决方案1】:

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

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

    'media_content' in entry
    False # in your case or True if the element exist
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多