Google 阅读器如何获取 RSS 提要中的每个项目?

Posted

技术标签:

【中文标题】Google 阅读器如何获取 RSS 提要中的每个项目?【英文标题】:How does Google Reader get every item in an RSS feed? 【发布时间】:2010-09-18 06:21:26 【问题描述】:

Slashdot 的 RSS 提要是 http://rss.slashdot.org/Slashdot/slashdot。如果我直接下载 XML 文件,我只会得到今天的一些帖子。但是,如果我订阅 Google Reader 中的提要,并在他们的“无限滚动”界面中继续向下滚动,似乎我可以从过去获得任意数量的 Slashdot 帖子——也许我可以得到每一个 Slashdot 帖子?

    Google 阅读器如何从 RSS 提要中检索无限数量的帖子? 我该怎么做?

【问题讨论】:

【参考方案1】:

Google 为所有用户跟踪一个提要实例,因此他们一直在跟踪和存储 Slashdot 文章,例如,早在任何新订阅者开始阅读之前。

为此,您必须定期轮询所需的 RSS 提要并存储您在本地找到的所有独特文章。

【讨论】:

【参考方案2】:

我刚刚发现,如果您通过了身份验证,您可以执行以下操作:

http://www.google.com/reader/atom/feed/http://rss.slashdot.org/Slashdot/slashdot?n=100

从提要中获取任意数量的结果。

【讨论】:

任何人现在如何使用 feedparser 从 python 脚本访问这个提要?只有登录谷歌阅读器才能获取此提要的条目。但我不知道如何从脚本登录... @Rafael - 如果您还在寻找,请参阅此问题:***.com/questions/52880/…。它可能会有所帮助。 看起来 fo n 的值最多可以是 1000。如果您给出任何超过 1000 的值,则只会返回 1000 个结果。【参考方案3】:

多年来,他们一直在为网络编制索引,并存储他们访问的所有内容。因此,在您向页面添加“订阅此”链接的那一刻,Google 抓取工具就会开始将该页面编入索引并存储它。

对于 RSS,它们还具有让多人订阅同一个提要的好处。

因此,对于您的应用程序,我建议通过在本地保存所有下载的项目来解决此问题,以便新订阅可以回到第一个用户订阅该提要的时间点。它不会为您提供无限量,但随着时间的推移,它会为您提供比仅 20 个最新项目更大的存档。

【讨论】:

【参考方案4】:

我构建了一个 RSS 存档服务,可以满足您的要求 (https://app.pub.center)。所有的 RSS 都可以通过 REST 免费使用。如果您想要推送通知,则必须切换到付费计划。

PubCenter 每天轮询它的 RSS 提要目录,并缓存文章。然后,您可以按时间顺序获取这些文章。例如:

《大西洋月刊》第 1 页https://pub.center/feed/02702624d8a4c825dde21af94e9169773454e0c3/articles?limit=10&page=1

《大西洋月刊》第 2 页https://pub.center/feed/02702624d8a4c825dde21af94e9169773454e0c3/articles?limit=10&page=2

【讨论】:

以上是关于Google 阅读器如何获取 RSS 提要中的每个项目?的主要内容,如果未能解决你的问题,请参考以下文章

RSS 阅读器如何知道提要已更新?

如何在 2015 年 4 月 20 日之后获取 Youtube 频道 RSS 提要(没有 v3 API)?

在R闪亮的网络应用程序中获取RSS提要

jQuery获取RSS提要实时阅读器

大型 RSS 阅读器的工作原理(netvibes、Google 阅读器...)

从 Feedburner RSS 提要中获取原始 XML 数据