使用Universal Feed Parser聚合多个Feed

时间:2009-09-30 04:04:18

标签: python django

在Universal Feed Parser中使用单源feed解析非常幸运,但现在我需要通过它运行多个feed并生成按时间顺序交错的输出(不是RSS)。好像我需要遍历URL并将每个条目填入字典列表中,然后按入口时间戳对其进行排序,并从顶部开始切片。这似乎是可行的,但资源方面非常昂贵(因为这个原因我会积极地缓存它)。

只是想知道是否有更简单的方法 - 例如,与feedparser一起使用的现有库可以进行简单聚合。示例代码?陷阱还是警告?感谢。

2 个答案:

答案 0 :(得分:2)

您可以将Feed投放到数据库中,然后从该数据库生成新的Feed。

考虑研究两个基于feedparser的RSS聚合器:Planet Feed AggregatorFeedJack(基于Django),或至少如何解决这个问题。

答案 1 :(得分:1)

这里已经建议将数据存储在数据库中,例如bsddb.btopen()或任何RDBMS。

如果您想在内存中合并数据,请查看heapq.merge()bisect.insort()或使用B-tree实现之一。