肥嘟嘟(Fatbobman)的学习笔记Rss Feed

上学的时候懒不愿意做笔记,但确实了解笔记的重要性。现在想做笔记了,但是还是懒,当然对于重要性的认识丝毫没有动摇。

2005/11/18

如何判断rss feed内容是否更新

为了熟悉django,打算照rssfwd.com的模式制作一个类似的项目。
在判断rss feed内容是否有更新上,我遇到了一点麻烦。我在python下使用feedparser.py来解析各种格式的rss或者atom等信息,结果发现很多站点提供的信息里面没有updated或者modified等时间信息。etag也是没有几个站点支持。这样造成了我的困惑,对于没有时间信息的rss资源如何判断是否更新过呢?
好在rssfwd是开源的,看了一下它的ruby程序。虽然不懂ruby,但大概上还是能看明白的。我发现rssfwd采用通过将每个feed里content
hash后的数据保存在catch中的方法来判断是否有变化。这确实不是一个很好的方法(效率低、占用存储空间大、无论是否更改都再度占用带宽下载),不过这是一个非常有效地解决手段。一下子将程序中需要考虑的众多针对各种版本rss/atom等资源兼容性问题就巧妙解决了。

1 Comments:

At 3:45 下午, Blogger 黄毅 said...

老兄, 用 http 响应的 304 吧

 

发表评论

<< Home