【发布时间】:2011-02-13 10:21:33
【问题描述】:
如果我只需要下载自上次下载以来没有更改的页面怎么办? 什么是最好的方法?我可以先得到页面的大小,然后比较决定它是否改变了,如果改变了,我要求下载否则跳过?
我打算使用 (python) mechanize。
【问题讨论】:
标签: python mechanize screen-scraping
如果我只需要下载自上次下载以来没有更改的页面怎么办? 什么是最好的方法?我可以先得到页面的大小,然后比较决定它是否改变了,如果改变了,我要求下载否则跳过?
我打算使用 (python) mechanize。
【问题讨论】:
标签: python mechanize screen-scraping
请求应该是HEAD,而不是 GET:
9.4 头部
HEAD 方法与 GET 相同 除了服务器不能返回 响应中的消息正文。这 HTTP 中包含的元信息 响应 HEAD 请求的标头 应该与信息相同 为响应 GET 请求而发送。 该方法可用于获取 关于实体的元信息 由请求暗示而没有 转移实体主体本身。 这种方法常用于测试 有效性的超文本链接, 可访问性和最近 修改。
对 HEAD 请求的响应可能是 在某种意义上是可缓存的 响应中包含的信息 可用于更新以前的 来自该资源的缓存实体。如果 新的字段值表明 缓存的实体与当前的不同 实体(如将由 Content-Length、Content-MD5、 ETag 或 Last-Modified),然后是缓存 必须将缓存条目视为陈旧的。
看到这里How can I perform a HEAD request with the mechanize library?
【讨论】:
是的,您可以通过这样的设置获得更多关于 python mechanize 的信息
br = mechanize.Browser()
br.set_debug_http(True)
br.set_debug_redirects(True)
... Your code here ...
通过这样做,您可以获得页面的有价值的标题信息
【讨论】: