我正在编写一个python脚本来组合大约20多个RSS源。我想使用自定义解决方案而不是feedjack或planetfeed。
我使用feedparser解析feed和mysql来缓存它们。
我遇到的问题是确定哪些Feed已被缓存,哪些尚未缓存。
我尝试过的一些伪代码:
我觉得这样可行,但我的问题是并非我使用的RSS源上的所有日期都是正确的。无论出于何种原因,出版商有时会在未来提供包含日期的Feed项目。如果将此日期添加到数据库中,则它将始终大于列表中项目的日期。因此,比较停止工作,并且没有新项目添加到数据库。我想提出另一种解决方案,而不是依赖出版商的日期。
你们有些专业人士如何做到这一点?假设您必须组合多个rss提要,将它们保存到mysql数据库,然后按日期排序返回它们。我只是在寻找伪代码,让我知道最好的方法。
感谢您的帮助。
答案 0 :(得分:1)
根据Feed的更新频率和检查频率,您可以简单地修复损坏的日期(如果将来,将其重置为今天),然后再将其添加到数据库中。
除此之外,你必须使用某种ID - 我认为RSS在每个项目上都有一个ID字段。如果您的Feed按顺序保存,您可以获取最新的缓存ID,在Feed项列表中找到它,然后添加更新的内容。如果它们出现故障,您必须根据缓存检查每个缓存,如果缺少则添加它。