如何检查RSS源是否已在Python中更新?

use*_*759 13 python rss feedparser

我正在使用Python中的feedparser库来从RSS提要中获取各种详细信息.假设我从新闻频道的RSS源中删除了25个标题.一小时后,我再次运行feedparser命令,以获取25个新标题的最新标题列表.第二次运行feedparser命令时,列表可能会更新,也可能不会更新.有些标题可能是相同的,有些可能是新的.我需要能够检查任何新闻标题中是否有更新,其标题是在一小时前提取出来的.只有新的标题必须推入数据库.这是为了避免重复转储到数据库中.

代码如下所示:

import feedparser
d = feedparser.parse('www.news.example.xml')
for item in d.entries:
    hndlr.write(item.title)  #data being dumped into a database
Run Code Online (Sandbox Code Playgroud)

我需要能够每小时运行上面的代码并检查标题中是否有任何更新(标题).如果前一小时提取的数据有任何变化,则只应将新数据转储到数据库中.

有人可以帮帮我吗?

Mar*_*ers 15

每个Feed项都有一个标识符item.id.跟踪这些以及他们的.updated(或.updated_parsed)条目以检查新项目.

因此,看看您是否已经看过该项目(通过item.id),或者自上次检查后是否已更新(通过item.updateditem.updated_parsed).

确保您利用feedparser E-Tag支持来检查更改的Feed内容.这样只会让您免于下载没有新商品的Feed; 当您获得全新的Feed副本时,仍需要检测已添加或更新的项目.