我们只能获取网页标题信息而不是正文吗? (机械化)

时间:2010-04-28 15:42:14

标签: python mechanize screen-scraping

如果我上次下载后没有更改页面,我只需要下载该怎么办? 什么是最好的方法?我可以先获取页面大小,然后比较决定是否已更改,如果是,我要求下载否则跳过?

我计划使用(python)mechanize。

2 个答案:

答案 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 ...
通过这样做,您可以获得页面的有价值的标题信息