Python中的RSS提要解析器库

时间:2010-02-11 13:57:29

标签: python rss feedparser

我在python中寻找一个好的库来帮助我解析RSS提要。有人用过feedparser吗?有什么反馈吗?

8 个答案:

答案 0 :(得分:53)

使用feedparser比使用minidom或BeautifulSoup滚动自己更好。

  • 它规范了所有版本的RSS和Atom之间的差异,因此您不必为每种类型使用不同的代码。
  • 检测Feed中的不同日期格式和其他变体是很好的。
  • 自动遵循HTTP重定向。
  • 它清理HTML内容。
  • 它支持ETag和Last-Modified标头,因此您可以通过下载HTTP标头而不是整个Feed来查看Feed是否已更改。
  • 它支持经过身份验证的Feed。
  • 它支持HTTP代理。

就像其他人提到过的那样,试试吧。这就像解析一个feed的2行代码。我唯一的抱怨是它只是使用字典作为其数据模型,如果它们不在源中,则字典中可能缺少某些属性,因此您必须在代码中检查它。但是文档非常清楚哪些属性将始终存在于字典中,哪些属性可能会丢失。

最后,我可以保证,因为我已经编写了一个使用它的应用程序。见这里:http://www.feednotifier.com/

答案 1 :(得分:11)

Feedparser非常强大,可配置且易于使用。一个非常友好的学习曲线,如果有的话。

示例

以编程方式确定您的问题有多少答案:

easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'

答案 2 :(得分:2)

http://www.feedparser.org/

首先点击G。

答案 3 :(得分:2)

我知道这是一个非常古老的主题,但是为了它的价值,我使用了feedparser(Universal feed parser)版本5.1.3,并且由于性能原因,我最近变成了speedparser(0.1.8)。它有几乎相同的接口,但运行速度更快。

我将它用于业余Python-for-Android应用程序,而speedparser在我的Feed上的运行速度提高了约5倍。

答案 4 :(得分:1)

回答你的跟进。你可以使用BeautifulSoup - 但是feedparser更适合RSS处理。

不要嘲笑 - 但是你读过feedparsers documentation吗?我不知道如何使用起来更简单。

答案 5 :(得分:0)

如果您想要替代方案,请尝试xml.dom.minidom。 就像“Django是Python”,“RSS就是XML”。

答案 6 :(得分:0)

我强烈推荐feedparser。

答案 7 :(得分:0)

从2019年开始,atomafeedparser的可能替代品,尽管我还没有使用它。