我正在尝试从BBC rss提要中检索一些新闻并在xml中本地保存某些部分(尽管此代码仅打印它)。我似乎能够检索除pubDate之外的所有内容。我收到了错误
"File "/Library/Python/2.7/site-packages/feedparser.py", line 416, in __getattr__
raise AttributeError, "object has no attribute '%s'" % key
AttributeError: object has no attribute 'pubDate'"
我不确定为什么我想要检索的其他内容都没有造成任何问题。这是代码:
import feedparser
import xml.etree.cElementTree as ET
from xml.dom import minidom
BBCHome = feedparser.parse ('http://feeds.bbci.co.uk/news/rss.xml')
def prettify(elem):
rough_string = ET.tostring(elem, 'utf-8')
reparsed = minidom.parseString(rough_string)
return reparsed.toprettyxml(indent=" ")
root = ET.Element('root')
for story in BBCHome.entries:
item = ET.SubElement(root,'item')
title = ET.SubElement(item,'title')
title.text = story.title
# why doesn't pubDate work?
pubDate = ET.SubElement (item,'pubDate')
pubDate.text = story.pubDate
description = ET.SubElement(item,'description')
description.text = story.description
link = ET.SubElement(item,'link')
link.text = story.link
print prettify(root)
阅读本页:https://pythonhosted.org/feedparser/namespace-handling.html 我认为它可能与命名空间有关,但是我不太明白。 我查看了原始Feed,它似乎只是项目的另一个子元素,类似于描述或标题。
如果我能找到解决这个问题以及为什么它不起作用,我将不胜感激。 感谢。
答案 0 :(得分:1)
我打印story.keys()
而我只得到了。
['summary_detail', 'published_parsed', 'links', 'title', 'media_thumbnail',
'summary', 'guidislink', 'title_detail', 'href', 'link', 'published', 'id']
也许story.published
就是您所需要的。