使用python下载RSS

时间:2010-03-25 17:00:43

标签: python

我有200个RSS源列表,我必须下载。这是一个持续的过程 - 我必须下载每个帖子,没有什么可以丢失,但也没有重复。那么最佳实践应该记住饲料的最后更新并控制它在x小时间隔内的变化?如果下载器将重新启动如何处理?所以下载者应该记住,下载了什么,不要再下载...

它已经实现了吗?或者文章的任何提示?感谢

2 个答案:

答案 0 :(得分:4)

通常这是你想要做的事情:

  • 定期提取Feed并使用universal feedparser解析它们并将条目存储在某处。
  • 在提取Feed时使用ETags和IfModified标头,以避免解析自上次提取以来未更改的Feed。在上次提取Feed时,您必须保持收到的Etags和Ifmodified值。
  • 为避免重复,应使用其唯一的guid存储每个条目,然后检查是否已存储具有相同guid的条目。 (通过entry_link,标题的散列+ feed url来唯一标识条目,以防feed条目没有guid)

答案 1 :(得分:2)

您可以使用feedparser来解析Feed并在数据库中存储每个Feed的最大发布时间。

对于简单数据库,您可以使用shelve