确定RSS源是否已更新的最佳方法

时间:2017-11-18 21:28:13

标签: ruby-on-rails

我正在尝试在RoR中构建一个简单的RSS提要阅读器作为我的第一个项目。在尝试找到最好的方法时,我一直在阅读有关使用条件get来获取自上次更新后修改的Feed的信息。

假设我收到的Feed在标题中包含此信息,我该如何才能完成此操作?

Sun,2017年11月19日05:21:56 +0800

目前,我做了类似以下的事情:

xml = HTTParty.get(url).body feed = Feedjira.parse(xml)

**我很新,所以任何其他可能有帮助的建议或材料都会受到批评。

1 个答案:

答案 0 :(得分:0)

要查看RSS是否已更新,您应该维护并检查标题,例如EtagLast-Modified

因此,一旦您首次阅读RSS提要,请提取这些标题并在阅读器方面进行维护。对于后续请求,只需对这些标记进行比较,如果更改,请解析Feed。

response = HTTParty.get(url)
headers = response.headers
last_modified = headers['Last-Modified']
etag = headers['Etag']
body = response.body
feed = Feedjira.parse(body) if(stored_last_modified != last_modified or etag != stored_etag)

可能很旧,但阅读this

很好