Rss 如何检测播客提要中的更新?

Rss 如何检测播客提要中的更新?,rss,atom-feed,podcast,Rss,Atom Feed,Podcast,我有一大组podcast提要URL,我会定期轮询这些URL以检查更新。我真的很难找到一种可靠的方法来检测一个没有任何误报的提要是否发生了变化。我希望不仅能够检测是否有新的插曲,而且能够检测现有插曲是否已更新 RSS和Atom提要提供pubDate、lastBuildDate或更新的元素。然而,我发现这些经常被误用,因此提要实际上是在每个请求的这些字段中插入当前日期时间。这使得它们很难依靠来检测变化 我的下一个想法是从播客中删除所有日期信息,然后MD5对提要内容进行散列。然后我可以比较提要散列来检

我有一大组podcast提要URL,我会定期轮询这些URL以检查更新。我真的很难找到一种可靠的方法来检测一个没有任何误报的提要是否发生了变化。我希望不仅能够检测是否有新的插曲,而且能够检测现有插曲是否已更新

RSS和Atom提要提供
pubDate
lastBuildDate
更新的
元素。然而,我发现这些经常被误用,因此提要实际上是在每个请求的这些字段中插入当前日期时间。这使得它们很难依靠来检测变化

我的下一个想法是从播客中删除所有日期信息,然后MD5对提要内容进行散列。然后我可以比较提要散列来检测提要的更改

这似乎适用于90%左右的病例。然而,仍有数百个播客将动态数据插入其提要

一个播客将以下内容作为其播客封面艺术:

http://erikglassman.hipcast.com/albumart/1000.1439649026.jpg
其中
1439649026
是我假设的时间戳。第二个数字会随着提要的每个请求而变化


这似乎是一场失败的战斗。如果我不能可靠地信任播客提要的日期字段,并且如果某些百分比的播客在提要文本中插入了动态数据,那么我如何能够可靠地检测到提要的更改呢?

您所说的一切都是真的,因此尝试在提要级别检测更改不是一个好主意,而是在项目级别查找更改

这通常是可行的,如果没有,提要就不能被任何人使用,因此提要的来源可能已经修复了任何问题。这就是为什么我认为它工作得这么好

我一直在写feed阅读器,因为它们存在,我目前的产品叫做River4,它是开源的,MIT许可证,所以你可以用它作为示例代码,来解决这个问题和其他问题

这是它检查项目是否为新项目的地方:

这可能会随着代码的更改而改变,因此请查找名为getItemGuid的例程。它向您展示了如何获取唯一标识项的值。我将此代码用于我的podcatcher,它似乎可以捕获新项目,并且不会出现误报


希望这有帮助!:-)

贾斯汀,你可以查一下。播客提要毕竟是RSS提要!