我正在创建一个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谢谢!
发布于 2013-08-09 17:45:16
在所有种类和相对版本的提要中,您经常会发现这些问题。
docs的字面意思是:“现实世界中的提要可能缺少元素,甚至是规范所要求的元素。在获得元素的值之前,您应该始终测试元素的存在。永远不要假设元素存在。”并提出解决方案:
'media_content' in entry
False # in your case or True if the element existhttps://stackoverflow.com/questions/18139472
复制相似问题