3

使用 Thunderbird 提要阅读器阅读我的 RSS 提要时,有些条目是重复的。谷歌阅读器没有同样的问题。

这是错误的提要: http ://plcoder.net/rss.php?rss=Blog

有问题,但在哪里?

我添加了一个GUID,但问题仍然存在。其他提要不会像我的那样重复,所以我会在这个模块上进行返工并替换这个旧的好代码。

结论:我完全重写了 RSS 生成器代码,还可以。我想我使用的是非常旧的RDF版本。

4

4 回答 4

7

尝试<guid>为每个项目添加一个标签,给它一个永久链接。IE:

<item rdf:about="http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete">
  <link>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</link>
  <guid>http://plcoder.net/?doc=2134&amp;amp;titre=mon-pc-se-la-pete</guid>
  ...
</item>

如果没有 GUID,如果帖子中的任何内容发生更改,您的 RSS 聚合器可能会认为这是一个新帖子。使用 GUID,即使该项目的内容发生更改,您的 RSS 聚合器也应该只更新帖子,而不是将其视为新项目。

于 2008-10-08T13:08:59.700 回答
2

至少对于 Thunderbird 2.0.0.21,问题是 Thunderbird 似乎不尊重 GUID 标签,但它确实尊重频道的pubDate-tag。因此,如果 pubDate 比上次读取的时间更近,Thunderbird 将读取所有条目(看起来)。

我不知道如果频道的 pubDate-tag 丢失会发生什么...

于 2009-04-16T09:12:00.427 回答
1

我在自己的一些提要中遇到了这些问题。我从这样的条目列表开始:

Item A
Item B
Item C

客户端下载它们,一切都很好。然后我添加了一个新项目,因此提要显示为:

Item D
Item A
Item B

D 出现在阅读器中。

但后来我决定我不想要那个项目,所以列表恢复为:

Item A
Item B
Item C

当 Thunderbird 读到这个时,它会将 C 视为一个新项目。我正在使用 GUID 元素,所以我怀疑这是问题所在。我认为这与 Thunderbird 的解析器没有考虑较旧的元素有关。

冗长的解决方法是“记住”您已经发布的项目以及后来被新项目推离列表末尾的项目。您基本上需要在提要中保留当前的项目列表,当您从中删除项目时,将其缩短,直到有新项目来替换它。

于 2008-10-08T13:32:37.250 回答
1

这在Thunderbird 的文档中进行了解释(在“疑难解答常见问题解答”下):

问:为什么 Feed 消息有时会重复?

答:内容相同但唯一 ID 不同的 Feed 消息不会被检测为重复消息。有关更多详细信息,请参阅这篇文章。

链接帖子供参考:

  1. Atom提要(强制)具有唯一 ID;RSS 提要(非强制性)通常具有唯一的 GUID。对于没有 GUID 的 RSS 提要,将尝试从提要项的必需部分创建唯一 ID。
  2. 所有下载的提要消息都有一个存储在 feeditems.rdf 中的具有此 ID 的记录,并且只要它们存在于具有该 ID 的发布者的文件中,它们就存在在那里。如果发布者从他们的文件中删除带有 ID 的消息,则在 24 小时后,feeditems.rdf 缓存也会被清除(在获取消息 biff 时)。
  3. 如果发布者在清除 ID 后重新使用它,您将得到一个重复的 ID(如果内容相同)。这是对唯一 ID 背后意图的滥用,是发布者的错误。
  4. 如果发布者在清除之前重复使用 ID,并且内容不同,您将看不到新内容,因为它将被视为重复内容。Thunderbird 目前不使用 <updated> 标签,发布者滥用它可能会使其难以实施。
  5. 如果您查看两个明显重复的来源 ( Ctrl+ U),您会注意到 Message-Id 标头。如果两个明显的重复项具有不同的 Message-Id 值,那么无论潜在的相同内容如何,​​它们都不是重复项。Thunderbird 不区分重复内容。

如果您想进行极端调试,请将 Feeds.logging.console 首选项设置更改为调试或跟踪并重新启动,以查看在提要处理期间会发生什么。

如果您取消订阅一个提要 URL,这将清除该提要的feeditems.rdf缓存。如果您随后重新订阅,您将获得发布者文件中所有当前项目的副本,这些项目也存在于您的提要文件夹中。

压实对饲料加工没有影响;它只是从文件中删除标记为删除的项目。如果您删除文件夹/将其移至垃圾箱,则会取消订阅。从 Thunderbird 29 开始,如果您将文件夹从一个提要帐户拖放到另一个提要帐户,订阅将被保留(但不是提要项)。对于非常旧的配置文件/订阅源帐户(Thunderbird 17 之前),创建一个新的订阅源帐户并将文件夹拖到那里(Thunderbird 29 及更高版本)可能是个好主意,因为创建了一个新的feeds.rdf数据库;惩罚是一次性重复的可能性。

于 2018-02-09T13:46:25.800 回答