获取 RSS 提要的最新更新
Get a most recent update of an RSS feed
我使用的是 C#,但这适用于任何其他语言。我在这里发现了几个问题,指出 RSS 提要只会响应最后 10 个文档,但我尝试访问的 RSS 提要似乎并非如此。
C# 示例代码:
rssXmlDoc.Load("http://sampleRSSfeed.com/rss");
foreach (XmlNode rssNode in rssNodes)
{
// process rssNode...
}
我可以将 pubDate 与所有其他字段一起提取。
我的问题是我找不到任何方法来根据 pubDate 的 date/time 来限制传入的文档。每次调用都会拉取相当大(数百条)的所有记录。
有没有办法只请求自上次检查以来的文件?
不幸的是,您可能不能依赖 pubDate
,因为并非所有提要都具有正确的日期,而且并非所有提要都按时间倒序排序。如果你想要最新的,你必须获取整个 feed 并跟踪每个条目的唯一 ID(通常是 RSS 的 guid
元素),然后在一段时间和身份之后再次拉取 feed新内容。另一种选择是使用像 Superfeedr 这样的服务来为您处理所有这些。
我使用的是 C#,但这适用于任何其他语言。我在这里发现了几个问题,指出 RSS 提要只会响应最后 10 个文档,但我尝试访问的 RSS 提要似乎并非如此。
C# 示例代码:
rssXmlDoc.Load("http://sampleRSSfeed.com/rss");
foreach (XmlNode rssNode in rssNodes)
{
// process rssNode...
}
我可以将 pubDate 与所有其他字段一起提取。
我的问题是我找不到任何方法来根据 pubDate 的 date/time 来限制传入的文档。每次调用都会拉取相当大(数百条)的所有记录。
有没有办法只请求自上次检查以来的文件?
不幸的是,您可能不能依赖 pubDate
,因为并非所有提要都具有正确的日期,而且并非所有提要都按时间倒序排序。如果你想要最新的,你必须获取整个 feed 并跟踪每个条目的唯一 ID(通常是 RSS 的 guid
元素),然后在一段时间和身份之后再次拉取 feed新内容。另一种选择是使用像 Superfeedr 这样的服务来为您处理所有这些。