【问题标题】:How can I ensure the RSS data without repetition when fetch RSS data获取RSS数据时如何确保RSS数据不重复
【发布时间】:2018-01-16 22:27:14
【问题描述】:

我们知道,如果网站管理员更新了 RSS 数据,或者第三方库更新 RSS 提要数据,RSS 数据就会更新。

现在,如果我正在编写一个 RSS 阅读器,每次我从网站的 RSS 源中获取数据。

如何保证数据是否被抓取?

来自wikipedia RSS

只有titlelinkdescription 字段是必需的。 pubDate 不是必需的。因此,我无法确保我们是否通过pubDate 或其他字段(如lastBuildDate 字段)获取数据。

那么,哪位朋友可以告诉我,您如何验证 Feed 数据是否被我们获取?

【问题讨论】:

    标签: web rss rss-reader


    【解决方案1】:

    在阅读 RSS 提要时,每个项目的 guid 元素用于检查该项目之前是否已阅读过。

    guid 可以是项目 HTML 版本的永久链接,如下所示:

    <guid>http://dallas.example.com/1983/05/06/joebob.htm</guid>
    

    guid 也可以是为项目提供唯一值的任何其他文本,例如使用 TAG URI 规范的文本,如下例所示:

    <guid isPermaLink="false">tag:dallas.example.com,4131:news</guid>
    

    虽然名称 guid 代表全局唯一 ID,但 RSS 中并没有要求 guid 值是全局唯一的。您最多可以希望它对于该提要发布者来说是独一无二的。

    guid 元素是可选的。

    【讨论】:

    • 它的选项。我不能确保出版商给它。
    【解决方案2】:

    最后我发现链接可以确保一个项目是否被获取。

    我可以将获取的数据保存在我的数据库中,每次用户获取数据时,它可以通过link属性检查数据是否存在于数据库中。

    【讨论】:

      猜你喜欢
      • 2013-12-14
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多