Python中的RSS订阅源解析库

42 投票
8 回答
25065 浏览
提问于 2025-04-15 19:09

我在找一个好用的Python库,想用它来解析RSS订阅源。有没有人用过feedparser这个库?有什么反馈吗?

8 个回答

2

如果你想找个替代方案,可以试试 xml.dom.minidom。就像“Django 是 Python”一样,“RSS 是 XML”。

11

Feedparser 非常强大,可以根据需要进行配置,而且使用起来超级简单。学习起来也很友好,几乎没有门槛。

示例

通过编程的方式来确定你的问题有多少个回答:

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

使用 feedparser 比自己用 minidom 或 BeautifulSoup 来写要好得多。

  • 它能统一处理不同版本的 RSS 和 Atom,这样你就不需要为每种类型写不同的代码。
  • 它能很好地识别不同的日期格式和其他各种变化。
  • 它会自动处理 HTTP 重定向。
  • 它能清理 HTML 内容。
  • 它支持 ETag 和 Last-Modified 头信息,这样你只需下载 HTTP 头就能知道内容是否有变化,而不需要下载整个信息。
  • 它支持需要认证的内容。
  • 它支持 HTTP 代理。

正如其他人提到的,试试看吧。解析一个信息源只需要两行代码。我唯一的抱怨是,它使用字典作为数据模型,如果某些属性在信息源中缺失,字典里可能就没有这些属性,所以你需要在代码中检查一下。不过,文档非常清楚地说明了哪些属性总是会在字典中,哪些可能会缺失。

最后,我可以证明这一点,因为我写过一个使用它的应用程序。可以看看这里: http://www.feednotifier.com/

撰写回答