使用通用供稿解析器聚合多个供稿

0 投票
2 回答
1325 浏览
提问于 2025-04-15 14:41

我在使用Universal Feed Parser处理单一数据源的解析时运气不错,但现在我需要同时处理多个数据源,并生成按时间顺序交错的输出(不是RSS格式)。看起来我需要遍历这些网址,把每个条目放进一个字典列表里,然后根据条目的时间戳进行排序,最后取出前面的部分。这听起来是可行的,但在资源上会比较消耗(所以我会尽量缓存数据以节省资源)。

我只是想知道有没有更简单的方法,比如有没有现成的库可以和feedparser一起使用,来做一些简单的数据汇总。有没有示例代码?或者有什么需要注意的地方吗?谢谢。

2 个回答

1

这里已经有建议可以把数据存储到数据库里,比如可以用 bsddb.btopen() 或者其他关系型数据库管理系统(RDBMS)。

你可以看看 heapq.merge()bisect.insort(),或者如果你想在内存中合并数据的话,可以使用一些B树的实现。

2

你可以把这些信息放进一个数据库里,然后从这个数据库生成一个新的信息流。

可以看看两个基于feedparser的RSS聚合工具:Planet Feed AggregatorFeedJack(基于Django的),或者至少了解一下它们是怎么解决这个问题的。

撰写回答