注意: 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. 01

    2019-06

    使用代理IP为何访问失败

    在日常的网络工作中,很多网络工作者需要使用到代理IP来辅助完成任务,如比较常见的爬虫工作、营销发帖、网络投票、效果补量等,有是使用第三方工具,有的自己编写代码程序,通过对接A

  2. 25

    2019-06

    IP代理工程师:python爬虫被封禁的常见问题有哪些?

    做为python爬虫的一员,你是否遇到过IP地址一直被目标网站封杀却找不到原因?那么这里说几个python爬虫被封禁的常见问题,帮助你诊断一下问题出在哪里?

  3. 04

    2019-06

    Python爬虫为什么使用独享代理IP池效果更好

    IP池,也分共享和独享的,但很多商家并不告诉你,而是一味的喊价格多低多低,以低廉的价格来吸引大家的购买使用,但是很多时候都是购买之后,刚开始使用就发现不好用。因此,选购代理I

  4. 29

    2019-05

    IE浏览器上设置代理服务器的方法

    IE如何设置代理服务器呢?当我们需要通过代理才能访问网络时,设置IE代理,可以轻松解决这个问题。这里首先需要说明一下,设置IE代理之后,电脑整个网络都会通过它上网,从而隐藏自己的

  5. 23

    2019-03

    如何用python爬虫爬取网页表格数据

    网络营销时代下,很多模式已经不能适用于互联网新时代了,往往达不到营销效果,想要更好的操作网络营销,就需要借助很多营销工具,做好每一步。像网络问答推广,就无法缺少代理IP的支

  6. 19

    2019-04

    优质代理IP对爬虫的影响

    大数据时代下,爬虫行业大肆发展,其技术日新月异,从业者如过江之鲫,数不胜数。说到爬虫,就不得不说到代理IP,代理IP是爬虫能够高速发展的基石,必不可少,没有代理IP,爬虫就像断了