如果我上次下载后没有更改页面,我只需要下载该怎么办? 什么是最好的方法?我可以先获取页面大小,然后比较决定是否已更改,如果是,我要求下载否则跳过?
我计划使用(python)mechanize。
答案 0 :(得分:5)
请求应该是HEAD,而不是GET:
9.4 HEAD
HEAD方法与GET相同 除了服务器不能返回 响应中的消息正文。该 HTTP中包含的元信息 响应HEAD请求的标头 应该与信息完全相同 发送以响应GET请求。 该方法可用于获得 关于实体的元信息 没有提出要求所暗示的 转移实体 - 身体本身。 此方法通常用于测试 有效性的超文本链接, 可访问性,最近 修改
对HEAD请求的响应可能是 可缓存的意思是 回复中包含的信息 可以用来更新以前的 来自该资源的缓存实体。如果 新的字段值表明了 缓存实体与当前不同 实体(由a表示) Content-Length,Content-MD5的变化, ETag或Last-Modified),然后是缓存 必须将缓存条目视为陈旧。
请参阅此处How can I perform a HEAD request with the mechanize library?
答案 1 :(得分:0)
是的,您可以通过设置这样的
在python mechanize中获得更多信息br = mechanize.Browser()
br.set_debug_http(True)
br.set_debug_redirects(True)
... Your code here ...
通过这样做,您可以获得页面的有价值的标题信息