注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册

首页 > 新闻资讯 > 爬虫怎么判断网页有没有更新

爬虫怎么判断网页有没有更新

来源:互联网 作者:admin 时间:2019-01-30 16:50:00

有些网站每天都更新,不仅会出现新的网页,而且老的网页也会有更新内容,这样爬虫怎么判断网页有没有更新?应该怎么设计爬取策略?难度每天都重新爬遍这个网站的所有网页,然后判断是不是有更新吗?这样爬虫的访问量不就很大吗?


对于这些问题,我们首先要判断网站页面是否刷新,下面就介绍几种判断方法:


1.使用MD5数字签名


每次下载网页时,把服务器返回的数据流ResponseStream先放在内存缓冲区,然后对ResponseStream生成MD5数字签名S1,下次下载同样生成签名S2,比较S2和S1,如果相同,则页面没有更新,否则网页就有跟新。需要说明的是用md5算法对文本刘签名的速度是极快的,M级的数据可以在毫秒内完成。这种策略虽然也把页面数据从服务器传输到了本地机,但是省掉了页面的I/O操作,对系统性能的提升是很有帮助的。


爬虫怎么判断网页有没有更新


2.304页面http状态码


当第二次请求页面访问的时候,该页面如果未更新,则会反馈一个304代码,而搜索引擎也会利用这个304http状态码来进行判断页面是否更新。


首先第一次肯定是要爬取网页的,假设是A.html,这个网页存储在磁盘上,相应地有个修改时间(也即是更新这个文件的时间)。那么第二次爬取的时候,如果发现这个网页本地已经有了,例如A.html,这个时候,你只需要向服务器发送一个If-Modified-Since的请求,把A.html的修改时间带上去。


如果这段时间内,A.html更新了,也就是A.html过期了,服务器就会HTTP状态码200,并且把新的文件发送过来,这时候只要更新A.html即可。


如果这段时间内,A.html的内容没有变,服务器就会返返回HTTP状态码304(不返回文件内容),这个时候就不需要更新文件。


3.文件大小不同,可以比对下


搜索引擎还会取出之前页面文件,和现在的文件进行对比,不过因为大部分网站都是一种替换式更新,往往比对文件大小很难说明问题,因此常见与页面链接变化配合使用。


4.Last-Modified文件最后修改时间,抓取最新更新的


这是http头部信息中的一个属性,主要是记录页面最后一次的修改时间,往往我们会发现,一些权重很高的网站,及时页面内容不更新,但是快照却还是能够每日更新,这其中就有Last-Modified的作用。通产情况下,下载网页我们使用HTTP协议,向服务器发送HEAD请求,可以得到页面的最后修改时间LastModifed,或者标签ETag。将这两个变量和上次下载记录的值的比较就可以知道一个网页是否跟新。这个策略对于静态网页是有效的。是对于绝大多数动态网页如ASP,JSP来说,LastModifed就是服务器发送Response的时间,并非网页的最后跟新时间,而Etag通常为空值。所以对于动态网页使用LastModifed和Etag来判断是不合适的,因此Last-Modified只是蜘蛛判断页面是否更新的一个参考值,而不是条件。


爬虫怎么判断网页有没有更新?以上介绍了四个判断网页有没有更新的方法,如今大数据时代,许多企业都会进行数据的采集,但是对方也会设置各种的限制,比如IP限制等,对于这个限制,爬虫可以使用IP代理精灵去突破限制。若是其他的限制,爬虫就要对症下药了,否则不能获取到网站数据。


最新资讯

推荐阅读

  1. 03

    2020-09

    独享代理IP的有效率的诀窍

    独享代理IP的有效率的诀窍!用过IP精灵代理的独享IP池的用户都知道,独享代理IP虽然价格比共享代理IP更贵,但它的有效率是真的高,绝对的物有所值。独享IP池的有效连通率很高,业务成功率

  2. 11

    2019-11

    浅谈IP协议那些事

    浅谈IP协议那些事!今天ip代理精灵小编来跟大家说说IP协议那些事,一起来看看ip协议是什么?有什么特点功能:

  3. 29

    2021-01

    HTTP代理的原理介绍

    HTTP代理的原理介绍!代理服务器是HTTP协议中一个重要的组件,发挥着重要的作用。 关于HTTP代理的文章有很多,本文不再赘述,如果不清楚的可以看一下HTTP代理的基础知识。

  4. 06

    2019-11

    如何解决爬虫IP被封禁的问题?

    如何解决爬虫IP被封禁的问题?爬虫以前听上去好厉害好神秘的样子,用好了可以成就像Google、百度这样的索索引擎,用不好可以凭借不恰当的高并发分分钟崩掉一个小型网站。写到这里想到12306

  5. 26

    2018-11

    这python爬虫是什么意思?爬虫怎么抓取数据?

    python是一种计算机的编程语言,是这么多计算机编程语言中比较容易学的一种,而且应用也广,备受大家的喜爱。这python爬虫是什么意思呢?为什么要用python写爬虫,其他的编程语言不可以吗?

  6. 09

    2019-06

    国内好用的ip代理首选IP代理精灵

    其实在国内的https代理ip平台的市场上,你们只要稍加了解就会发现一个共同的问题,那就是收费非常高,因此平台并不适合大众使用。那究竟有没有解决这个问题的方法呢?方法自然有,只需