网络爬虫抓取任务分配方法与装置及数据抓取方法与装置制造方法及图纸

技术编号:14113696 阅读:116 留言:0更新日期:2016-12-07 11:06
本申请实施例公开了一种网络爬虫抓取任务分配方法与装置及数据抓取方法与装置。所述网络爬虫数据抓取方法,保存抓取过的历史页面保存于历史抓取数据,当有抓取任务时,判断历史抓取数据中是否存在与抓取任务的URL簇对应的历史页面,如果存在且存在的历史页面可用,则对可用的历史页面直接提取第一目标页面数据,而不需对这部分历史页面重复抓取,节省系统资源。同时,先定时检测所有网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,然后根据E(w)和D(w)计算各个网络爬虫的可用性,对可用的网络爬虫,按可用性概率由大到小的顺序选择执行任务的网络爬虫,从而合理分配网络爬虫资源。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种网络爬虫抓取任务分配方法与装置及数据抓取方法与装置
技术介绍
网络爬虫(Computer Robot,又称为网页蜘蛛或网络机器人),是一种按照一定的规则自动抓取互联网网页数据的程序,是搜索引擎的重要组成。通常网络爬虫根据配置的抓取任务从互联网下载网页,对网页进行解析和过滤,获取目标网页数据。所有被网络爬虫抓取的目标网页数据存储于爬虫系统,并建立索引,以便之后的查询和检索。网络和信息技术的发展使得网站、网页和网页数据的数量极速增长,一个爬虫系统需要众多网络爬虫来抓取大量的网页数据,这些网络爬虫可能分布在同一个局域网之中,也可能分散在不同的地理位置。根据网络爬虫的分散程度不同,爬虫系统主要分为两种架构:1、基于局域网的分布式架构,这种架构中所有网络爬虫在同一个局域网里运行,通过同一个局域网访问外部互联网,下载网页,所有的网络负载都集中在局域网的出口上,由于网络出口的总带宽上限是固定的,网络爬虫的数量会受到局域网出口带宽的限制;2、基于广域网的分布式架构:并行的网络爬虫分别运行在不同地理位置或网络位置,例如,网络爬虫可能位于不同机房,或者位于中国、日本和美国,分别负责下载这三地的网页,或者位于CHINANET、CERNET和CEINET,分别负责下载这三个网络中的网页,这种架构下每个网络爬虫通过各自的网络访问外部互联网,只受各自对应的出口带宽的影响,从而分散网络流量,减轻网络负载。基于广域网的分布式架构是目前应用较多的爬虫系统架构,但这种架构下,由于网络爬虫数量大及内容抓取需求多,网络爬虫部署分散,各个网络爬虫对应的出口带宽可能会千差万别,网络资源使用情况不合理会使抓取效率降低。另一方面,抓取任务数量增长容易产生页面重复抓取问题,比如A任务需要抓取C页面的顶部数据,当爬虫系统完成任务后,下一个到来的B任务需要抓取C页面的底部数据,由于A任务中网络爬虫只返回并存储了C页面的顶部数据,因此只能对C页面再进行一次下载来获得C页面的底部数据,这样会造成爬虫资源的浪费,导致网络爬虫集群压力增加。
技术实现思路
为克服相关技术中网络爬虫抓取任务网络资源使用不合理,以及页面重复抓取的问
题,本申请提供一种网络爬虫抓取任务分配方法与装置及数据抓取方法与装置。根据本申请实施例的第一方面,提供一种网络爬虫抓取任务分配方法,包括:定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,其中,w为网络带宽使用率;当接收到抓取任务时,根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性;根据所述可用性确定执行任务的网络爬虫。可选的,所述定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,包括:定时采集预设次数网络带宽使用率;计算网络带宽使用率均值和D(w)=E[w-E(w)]2并存储,其中n为预设次数。可选的,所述根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性,包括:提取当前时间之前预设时间长度内各个网络爬虫的网络带宽使用率均值E(w)和方差D(w);根据预设时间长度内各个网络爬虫的网络带宽使用率均值E(w)和方差D(w),使用朴素贝叶斯分类算法计算各个网络爬虫的可用性概率和不可用性概率。可选的,所述根据所述可用性确定执行任务的网络爬虫,包括:比较网络爬虫的可用性概率与不可用性概率;如果网络爬虫的可用性概率大于不可用性概率,确定所述网络爬虫可用,否则,所述网络爬虫不可用;对可用的网络爬虫,按可用性概率由大到小的顺序选择执行任务的网络爬虫。根据本申请实施例的第二方面,提供一种网络爬虫数据抓取方法,包括:当接收到抓取任务时,根据抓取任务的配置信息在历史抓取数据中查询是否存在第一历史页面,所述配置信息包括新抓取任务的统一资源定位符URL簇,所述历史抓取数据包括执行历史抓取任务所下载的历史页面,所述第一历史页面为与所述新抓取任务的配置信息对应的历史页面;如果存在所述第一历史页面,检测所述第一历史页面是否可用;如果所述第一历史页面可用,解析可用的第一历史页面得到第一目标页面数据;如果所述第一历史页面不可用,根据不可用的第一历史页面对应的统一资源定位符URL簇,以及历史抓取数据中不存在所述第一历史页面的统一资源定位符URL簇,下载对应的页面进行解析,得到第二目标页面数据。可选的,所述检测所述第一历史页面是否可用,包括:预解析所述第一历史页面,判断抓取任务中目标页面数据所在的页面标签在所述第一历史页面中是否存在;如果所述页面标签在所述第一历史页面中存在,判断所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性是否相同;如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性相同,则确定所述第一历史页面可用;如果所述页面标签在所述第一历史页面中不存在,或者如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性不相同,则确定所述第一历史页面不可用。可选的,所述配置信息还包括历史页面有效时间,所述检测所述第一历史页面是否可用,包括:判断所述第一历史页面是否在历史页面有效时间内;如果所述第一历史页面在历史页面有效时间内,预解析所述第一历史页面,判断抓取任务中目标页面数据所在的页面标签在所述第一历史页面中是否存在;如果所述页面标签在所述第一历史页面中存在,判断所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性是否相同;如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性相同,则确定所述第一历史页面可用;如果第一历史页面不在历史页面有效时间内,或者所述页面标签在所述第一历史页面中不存在,或者如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性不相同,则确定所述第一历史页面不可用。根据本申请实施例的第三方面,提供另一种网络爬虫数据抓取方法,包括:定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,其中,w为网络带宽使用率;当接收到抓取任务时,根据抓取任务的配置信息在历史抓取数据中查询是否存在第
一历史页面,所述配置信息包括新抓取任务的统一资源定位符URL簇,所述历史抓取数据包括执行历史抓取任务所下载的历史页面,所述第一历史页面为与所述新抓取任务的配置信息对应的历史页面;如果存在所述第一历史页面,检测所述第一历史页面是否可用;如果所述第一历史页面可用,解析可用的第一历史页面得到第一目标页面数据;如果所述第一历史页面不可用,根据所述不可用的第一历史页面对应的统一资源定位符URL簇,以及历史抓取数据中不存在所述第一历史页面的统一资源定位符URL簇,形成第二抓取任务;根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性;根据各个网络爬虫的可用性确定执行所述第二抓取任务的网络爬虫;执行所述第二抓取任务的网络爬虫抓取第二目标页面数据,其中,第一目标页面数据和第二目标页面数据组成所述抓取任务的目标页面数据。可选的,所述定时检测本文档来自技高网
...
网络爬虫抓取任务分配方法与装置及数据抓取方法与装置

【技术保护点】
一种网络爬虫抓取任务分配方法,其特征在于,包括:定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,其中,w为网络带宽使用率;当接收到抓取任务时,根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性;根据所述可用性确定执行任务的网络爬虫。

【技术特征摘要】
1.一种网络爬虫抓取任务分配方法,其特征在于,包括:定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,其中,w为网络带宽使用率;当接收到抓取任务时,根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性;根据所述可用性确定执行任务的网络爬虫。2.如权利要求1所述的网络爬虫抓取任务分配方法,其特征在于,所述定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,包括:定时采集预设次数网络带宽使用率;计算网络带宽使用率均值和D(w)=E[w-E(w)]2并存储,其中n为预设次数。3.如权利要求1所述的网络爬虫抓取任务分配方法,其特征在于,所述根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性,包括:提取当前时间之前预设时间长度内各个网络爬虫的网络带宽使用率均值E(w)和方差D(w);根据预设时间长度内各个网络爬虫的网络带宽使用率均值E(w)和方差D(w),使用朴素贝叶斯分类算法计算各个网络爬虫的可用性概率和不可用性概率。4.如权利要求3所述的网络爬虫抓取任务分配方法,其特征在于,所述根据所述可用性确定执行任务的网络爬虫,包括:比较网络爬虫的可用性概率与不可用性概率;如果网络爬虫的可用性概率大于不可用性概率,确定所述网络爬虫可用,否则,所述网络爬虫不可用;对可用的网络爬虫,按可用性概率由大到小的顺序选择执行任务的网络爬虫。5.一种网络爬虫数据抓取方法,其特征在于,包括:当接收到抓取任务时,根据抓取任务的配置信息在历史抓取数据中查询是否存在第一历史页面,所述配置信息包括新抓取任务的统一资源定位符URL簇,所述历史抓取数据包括执行历史抓取任务所下载的历史页面,所述第一历史页面为与所述新抓取任务的配置信息对应的历史页面;如果存在所述第一历史页面,检测所述第一历史页面是否可用;如果所述第一历史页面可用,解析可用的第一历史页面得到第一目标页面数据;如果所述第一历史页面不可用,根据不可用的第一历史页面对应的统一资源定位符URL簇,以及历史抓取数据中不存在第一历史页面的统一资源定位符URL簇,下载对应的页面进行解析,得到第二目标页面数据。6.如权利要求5所述的网络爬虫数据抓取方法,其特征在于,所述检测所述第一历史页面是否可用,包括:预解析所述第一历史页面,判断抓取任务中目标页面数据所在的页面标签在所述第一历史页面中是否存在;如果所述页面标签在所述第一历史页面中存在,判断所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性是否相同;如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性相同,则确定所述第一历史页面可用;如果所述页面标签在所述第一历史页面中不存在,或者如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性不相同,则确定所述第一历史页面不可用。7.如权利要求5所述的网络爬虫数据抓取方法,其特征在于,所述配置信息还包括历史页面有效时间,所述检测所述第一历史页面是否可用,包括:判断所述第一历史页面是否在历史页面有效时间内;如果所述第一历史页面在历史页面有效时间内,预解析所述第一历史页面,判断抓取任务中目标页面数据所在的页面标签在所述第一历史页面中是否存在;如果所述页面标签在所述第一历史页面中存在,判断所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性是否相同;如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性相同,则确定所述第一历史页面可用;如果第一历史页面不在历史页面有效时间内,或者所述页面标签在所述第一历史页面中不存在,或者如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性不相同,则确定所述第一历史页面不可用。8.一种网络爬虫数据抓取方法,其特征在于,包括:定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,其中,w为网络带宽使用率;当接收到抓取任务时,根据抓取任务的配置信息在历史抓取数据中查询是否存在第一历史页面,所述配置信息包括新抓取任务的统一资源定位符URL簇,所述历史抓取数据包括执行历史抓取任务所下载的历史页面,所述第一历史页面为与所述新抓取任务的配置信息对应的历史页面;如果存在所述第一历史页面,检测所述第一历史页面是否可用;如果所述第一历史页面可用,解析可用的第一历史页面得到第一目标页面数据;如果所述第一历史页面不可用,根据不可用的第一历史页面对应的统一资源定位符URL簇,以及历史抓取数据中不存在第一历史页面的统一资源定位符URL簇,形成第二抓取任务;根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性;根据各个网络爬虫的可用性确定执行所述第二抓取任务的网络爬虫;执行所述第二抓取任务的网络爬虫抓取第二目标页面数据,其中,第一目标页面数据和第二目标页面数据组成所述抓取任务的目标页面数据。9.如权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,包括:定时采集预设次数网络带宽使用率;计算网络带宽使用率均值和D(w)=E[w-E(w)]2并存储,其中n为预设次数。10.如权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述检测所述第一历史页面是否可用,包括:预解析所述第一历史页面,判断抓取任务中目标页面数据所在的页面标签在所述第一历史页面中是否存在;如果所述页面标签在所述第一历史页面中存在,判断所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性是否相同;如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性相同,则确定所述第一历史页面可用;如果所述页面标签在所述第一历史页面中不存在,或者如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性不相同,则确定所述第一历史页面不可用。11.如权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述配置信息还包括历史页面有效时间,所述检测所述第一历史页面是否可用,包括:判断所述第一历史页面是否在历史页面有效时间内;如果所述第一历史页面在历史页面有效时间内,预解析所述第一历史页面,判断抓取任务中目标页面数据所在的页面标签在所述第一历史页面中是否存在;如果所述页面标签在所述第一历史页面中存在,判断所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性是否相同;如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性相同,则确定所述第一历史页面可用;如果第一历史页面不在历史页面有效时间内,或者所述页面标签在所述第一历史页面中不存在,或者如果所述第一历史页面中所述页面标签的属性与抓取任务中目标页面数据所在的页面标签的属性不相同,则确定所述第一历史页面不可用。12.如权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性,包括:提取当前时间之前预设时间长度内各个网络爬虫的网络带宽使用率均值E(w)和方差D(w);根据预设时间长度内各个网络爬虫的网络带宽使用率均值E(w)和方差D(w),使用朴素贝叶斯分类算法计算各个网络爬虫的可用性概率和不可用性概率。13.如权利要求12所述的网络爬虫数据抓取方法,其特征在于,所述根据所述可用性确定执行任务的网络爬虫,包括:比较网络爬虫的可用性概率与不可用性概率;如果网络爬虫的可用性概率大于不可用性概率,确定所述网络爬虫可用,否则,确定所述网络爬虫不可用;对可用的网络爬虫,按可用性概率由大到小的顺序选择执行任务的网络爬虫。14.一种网络爬虫抓取任务分配装置,其特征在于,包括:网络带宽使用率处理单元,用于定时检测网络爬虫的网络带宽使用率,计算各个网络爬虫的网络带宽使用率均值E(w)和方差D(w)并存储,其中,w为网络带宽使用率;爬虫可用性计算单元,用于当接收到抓取任务时,根据所述网络带宽使用率均值E(w)和方差D(w)计算各个网络爬虫的可用性;第一爬虫确定单元,用于根据...

【专利技术属性】
技术研发人员:刘庆张美德殷贤君邹启蒙
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1