最近在学习爬虫的相关知识啊,但是遇到了个问题,
比如我想爬取一个网站,
我先把这个网站的信息爬取下来
然后记录下来
等下次我再来爬取的时候,我先对比一下这个网页的ETag和last-modified的值如果没改变的话我就不用爬取了啊
但是我发下很多网站都没有ETag和last-modified属性
这怎么办啊。。。。。。。。。。。。。。
另外求大声能详细的讲解一下ETag和last-modified属性的意义啊
还有啊,为什么我自己弄的在tomcate上面的工程爬取下来也是没有这两个属性的啊。。。。。。。
谢谢了啊。。。。。。
ETag是一个可以与Web资源关联的记号,通过它可利用客户端的缓存,一般把ETags和GET请求的“If-None-Match”头一起使用。服务器首先产生ETag,客户端则将他与页面一起缓存起来,服务器可在后面使用它来判断页面是否是同一个样的页面!像楼上说的一样,他是通过MD5来处理的,具体百度下吧~~ 其实你可以得到页面的大小来判断是否是同一个页面,但是不保险,偷懒的代价!
没做过爬虫,但这两个属性可能是指最后一个标签(end tag)和最后修改时间(last modified)。如果想知道网页有没有变化,可以把爬下来的东西做一次MD5,和上一次爬下来的DM5作比较。如果有变化就说明需要重新抓取。
希望能帮到你。
因为ETag本来就不一定必须要的啊,这是可以有,而不是必须有!!呵呵