Python中的RSS提要解析器库[关闭]

问题描述 投票:38回答:7

我在python中寻找一个好的库,可以帮助我解析RSS提要。有人用过feedparser吗?任何反馈?

python rss feedparser
7个回答
53
投票

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

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

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

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


11
投票

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

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

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

2
投票

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


2
投票

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

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


1
投票

1
投票

在回答你的后续行动。你可以使用BeautifulSoup - 但是feedparser更适合RSS处理。

不要嗤之以鼻 - 但你读过feedparsers documentation吗?我不知道如何使用起来更简单。


0
投票

自2019年起,atoma可能是feedparser的替代品,尽管我还没有使用它。


-1
投票

我强烈推荐feedparser。

© www.soinside.com 2019 - 2024. All rights reserved.