猿问

Python:如何使用feedparser和etags检查RSS更新

我试图跳过尚未使用feedparser和etags进行修改的RSS feed。遵循文档指南:http : //pythonhosted.org/feedparser/http-etag.html


import feedparser


d = feedparser.parse('http://www.wired.com/wiredscience/feed/')

d2 = feedparser.parse('http://www.wired.com/wiredscience/feed/', etag=d.etag)


print d2.status

输出:


200

该脚本不应该返回304吗?我的理解是,当RSS feed进行更新时,etag会发生变化,如果它们匹配,那么我应该得到304。


为什么我没有得到预期的结果?


慕莱坞森
浏览 260回答 2
2回答

largeQ

Etag和最后修改的标头是两种独立的缓存技术。有些服务器使用其中一台,有些可能同时使用。如果要支持所有服务器的缓存,则应模拟浏览器的标准行为。现代浏览器同时发送etag和if-modified-since标头,因此您应该执行相同的操作。
随时随地看视频慕课网APP

相关分类

Python
我要回答