41

我正在寻找一个好的 Python 库来帮助我解析 RSS 提要。有人用过feedparser吗?任何反馈?

4

8 回答 8

58

使用feedparser比使用 minidom 或 BeautifulSoup 滚动你自己的方法要好得多。

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

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

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

于 2010-02-11T15:18:02.837 回答
11

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

例子

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

easy_install feedparser
python -c 'import feedparser; print len(feedparser.parse("http://bit.ly/c785aj")["entries"])'
于 2010-02-11T15:16:48.097 回答
2

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

于 2010-02-11T15:01:32.297 回答
2

我知道这是一个非常古老的话题,但值得一提的是,我使用的是 feedparser(通用提要解析器)版本 5.1.3,而我最近出于性能原因切换到了 speedparser(0.1.8)它具有几乎相同的界面,但运行速度更快。

我将它用于一个业余的Python-for-Android应用程序,speedparser 在我的提要上运行速度快了大约 5 倍。

于 2014-08-14T21:56:54.427 回答
1

http://www.feedparser.org/

先打G。

于 2010-02-11T13:59:22.433 回答
1

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

不要打蛇——但是您阅读过 feedparsers文档吗?我不知道如何使用起来更简单。

于 2010-02-11T15:00:50.890 回答
1

截至 2019 年,虽然我没有使用它,但它atoma可能是 的替代品。feedparser

于 2019-08-10T17:00:40.480 回答
-1

我强烈推荐 feedparser。

于 2010-02-11T15:26:30.387 回答