在Universal Feed Parser中使用单源feed解析非常幸运,但现在我需要通过它运行多个feed并生成按时间顺序交错的输出(不是RSS)。好像我需要遍历URL并将每个条目填入字典列表中,然后按入口时间戳对其进行排序,并从顶部开始切片。这似乎是可行的,但资源方面非常昂贵(因为这个原因我会积极地缓存它)。
只是想知道是否有更简单的方法 - 例如,与feedparser一起使用的现有库可以进行简单聚合。示例代码?陷阱还是警告?感谢。
答案 0 :(得分:2)
您可以将Feed投放到数据库中,然后从该数据库生成新的Feed。
考虑研究两个基于feedparser的RSS聚合器:Planet Feed Aggregator和FeedJack(基于Django),或至少如何解决这个问题。
答案 1 :(得分:1)
这里已经建议将数据存储在数据库中,例如bsddb.btopen()
或任何RDBMS。
如果您想在内存中合并数据,请查看heapq.merge()
和bisect.insort()
或使用B-tree实现之一。