当前位置: 主页 > JAVA语言

java抓取网页数据-java 抓取网页内容

发布时间:2023-02-12 07:15   浏览次数:次   作者:佚名

本申请实施例公开了一种网络爬虫爬取任务分配方法及装置、数据爬取方法及装置。 所述的网络爬虫数据抓取方法,在历史抓取数据中保存抓取的历史页面,当有抓取任务时,判断历史抓取数据中是否存在抓取任务的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)和store,其中,w为网络带宽利用率; 当接收到爬虫任务时,根据网络带宽利用率均值E(w)和方差D(w)计算每个网络爬虫的可用性; 根据以上可用性决定执行任务的网络爬虫。 可选地,定时检测网络爬虫的网络带宽利用率,计算并存储每个网络爬虫的网络带宽利用率均值E(w)和方差D(w),包括:定时采集网络带宽利用率预设时间; 计算并存储网络带宽使用率的平均值和D(w)=E[wE(w)]2,其中n为预设次数。 可选地,根据网络带宽利用率的均值E(w)和方差D(w)计算各网络爬虫的可用度包括:提取前预设时间长度内各网络爬虫的网络带宽利用率。当前时间均值 E(w) 和方差 D(w); 根据每个网络爬虫在预设时间长度内网络带宽使用的平均值E(w)和方差D(w),使用朴素贝叶斯分类算法计算每个网络爬虫的可用概率和不可用概率的平均值。 可选的,根据可用性确定执行任务的网络爬虫包括: 比较网络爬虫的可用概率和不可用概率; 如果网络爬虫可用概率大于不可用概率,则确定网络爬虫可用; 否则,网络爬虫不可用; 对于可用的网络爬虫,按照可用概率从大到小的顺序选择执行任务的网络爬虫。

根据本申请实施例的第二方面,提供了一种网络爬虫数据抓取方法,包括:当接收到抓取任务时,根据配置信息查询历史爬取数据中是否存在第一历史页面。抓取任务,配置信息包括新抓取任务的Uniform Resource Locator URL簇,历史抓取数据包括执行历史抓取任务下载的历史页面,第一个历史页面是与新抓取任务相关的历史页面对应配置信息; 如果存在第一历史页面,则检测第一历史页面是否可用; 若第一历史页面可用,则分析可用的第一历史页面,获取第一目标页面数据; 如果第一个历史页面不可用,根据不可用第一个历史页面对应的统一资源定位器URL簇,历史爬取数据中不存在第一个历史页面的统一资源定位器URL簇,下载对应的页面为解析得到第二目标页面数据。 可选的,检测第一历史页面是否可用包括: 对第一历史页面进行预解析,判断第一历史页面中是否存在抓取任务中的目标页面数据所在的页面标签; 如果该页面标签存在于第一个历史页面中,则判断第一个历史页面中的页面标签属性与抓取任务中目标页面数据所在页面标签的属性是否相同; 如果第二历史页面中的页面标签的属性与爬取任务中目标页面数据所在页面标签的属性相同,则确定第一历史页面可用; 如果该页面标签在第一历史页面中不存在,或者第一历史页面中该页面标签的属性与爬取任务中目标页面数据所在页面标签的属性不同,则判断第一个历史页面不可用。

可选的,配置信息还包括历史页面的有效时间,检测第一历史页面是否可用包括:判断第一历史页面是否在历史页面的有效时间内; 如果第一历史页面 页面在历史页面的有效时间内,则预解析第一历史页面,判断第一历史页面是否存在抓取任务中目标页面数据所在的页面标签; 如果页面标签在第一个历史页面中存在,则判断第一个历史页面中的页面标签属性与抓取任务中目标页面数据所在页面标签的属性是否相同; 如果第一历史页面中的页面标签的属性与爬取任务中目标页面数据所在页面标签的属性相同,则确定第一历史页面可用; 如果第一个历史页面不在历史页面的有效时间内,或者第一个历史页面中的页面标签不存在,或者第一个历史页面中的页面标签的属性与第一个历史页面中的页面标签的属性不同根据爬取任务中目标页面数据所在的页面标签,确定第一历史页面不可用。 根据本申请实施例的第三方面,提供了另一种网络爬虫数据抓取方法,包括:定时检测网络爬虫的网络带宽利用率,计算每个网络爬虫的网络带宽利用率(w)的均值E(w)和方差D并存储,其中,w为网络带宽利用率; 接收到抓取任务时,查询是否有第一个

一个历史页面,配置信息包括新抓取任务的Uniform Resource Locator 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[wE(w)]2,其中n为预设次数。 3.如权利要求1所述的网络爬虫抓取任务分配方法,其特征在于,所述根据所述网络带宽使用均值E(w)和方差D(w)计算各网络爬虫的可用性,包括:当前时间之前预设时间长度内各网络爬虫的网络带宽使用均值E(w)和方差D(w); 根据每个网络爬虫在预设时间长度D(w)内的网络带宽使用均值E(w)和方差,采用朴素贝叶斯分类算法计算每个网络爬虫的可用概率和不可用概率。 4.根据权利要求3所述的网络爬虫抓取任务分配方法,其特征在于,所述根据所述可用性确定执行任务的网络爬虫包括: 比较网络爬虫的可用概率和不可用概率; 如果网络爬虫可用概率大于不可用概率,则确定网络爬虫可用,否则网络爬虫不可用; 对于可用的网络爬虫,按照可用概率从大到小的顺序选择执行任务的网络爬虫。

5. 一种网络爬虫数据抓取方法,其特征在于,包括:在接收到抓取任务时,根据抓取任务的配置信息,查询历史抓取数据中是否存在第一个历史页面,所述配置信息包括Uniform Resource新爬取任务的Locator URL集群,历史爬取数据包括执行历史爬取任务下载的历史页面,第一个历史页面对应新爬取任务历史页面的配置信息; 如果有第一个历史页面,则检测第一个历史页面是否可用; 若第一历史页面可用,则分析可用的第一历史页面,获取第一目标页面数据; 如果第一个历史页面不可用。 根据不可用的第一历史页面对应的URL簇和历史爬取数据中不存在的第一历史页面的URL簇,下载分析对应的页面,得到第二目标页面数据。 6.根据权利要求5所述的网络爬虫数据抓取方法java抓取网页数据,其特征在于,所述检测所述第一历史页面是否可用包括: 预解析所述第一历史页面,判断抓取任务中的目标页面标签是否为数据所在页面位于第一个历史页面中; 如果该页面标签存在于第一历史页面中,则判断第一历史页面中页面标签的属性是否与爬取任务一致,目标页面数据所在页面标签的属性是否相同; 如果第一历史页面中的页面标签属性与爬取任务中目标页面数据所在页面标签的属性相同,则判断第一历史页面可用; 如果第一个历史页面中不存在该页面标签,或者第一个历史页面中的页面标签的属性与爬取任务中目标页面数据所在的页面标签的属性不相同,则确定第一历史页面不可用。

7.根据权利要求5所述的网络爬虫数据抓取方法,其特征在于,所述配置信息还包括历史页面有效时间,检测所述第一历史页面是否可用包括: 判断所述第一历史页面是否在所述历史页面内历史页面的有效时间; 如果第一个历史页面在历史页面的有效时间内,则对第一个历史页面进行预分析,判断抓取任务中目标页面数据所在的页面标签是否在第一个历史中是否存在页; 如果该页面标签存在于第一个历史页面中,则判断第一个历史页面中的页面标签的属性与抓取任务中目标页面数据所在页面标签的属性是否相同; 如果第一历史页面中的页面标签的属性与爬取任务中目标页面数据所在页面标签的属性相同,则确定第一历史页面可用; 如果第一个历史页面不在有效期内的历史页面中,或者第一个历史页面中不存在页面标签,或者第一个历史页面中的页面标签属性与页面属性不同抓取任务中目标页面数据所在的tag 如果相同,则确定第一个历史页面不可用。 8. 一种网络爬虫数据抓取方法,其特征在于,包括:定期检测网络爬虫的网络带宽利用率,计算每个网络爬虫的网络带宽利用率均值E(w)和方差D(w)并存储,其中,w为网络带宽利用率; 当接收到抓取任务时,根据抓取任务的配置信息查询历史抓取数据中是否有第一个历史页面,配置信息包括新抓取任务Locator URL集群的统一资源,历史抓取数据包括执行历史爬取任务下载的历史页面,第一历史页面为新爬取任务的配置信息对应的历史页面; 如果存在第一历史页面A历史页面,检测第一历史页面是否可用; 若第一历史页面可用,则分析可用的第一历史页面,获取第一目标页面数据; 如果第一历史页面不可用,则根据不可用的第一历史页面对应的统一资源定位器URL簇,以及历史爬取数据中不存在的第一历史页面的统一资源定位器URL簇形成第二次爬取任务; 根据网络带宽使用均值E(w)和方差D(w)计算每个网络爬虫的可用性; 根据各网络爬虫的可用性确定执行第二爬虫任务的网络爬虫; 执行第二爬取任务的网络爬虫抓取第二目标页面数据,其中第一目标页面数据和第二目标页面数据构成爬取任务的目标页面数据。

9. 如权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述定时检测网络爬虫的网络带宽利用率,计算每个网络爬虫的网络带宽利用率均值E(w)和方差D(w)网络爬虫w)和存储,包括:定期收集预设的网络带宽使用次数; 计算并存储网络带宽使用的平均值和D(w)=E[wE(w)]2,其中n为预设次数。 10.根据权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述检测所述第一历史页面是否可用包括: 预解析所述第一历史页面,判断抓取任务中的目标页面是否为数据所在的页面标签位于第一个历史页面中; 如果该页面标签存在于第一历史页面中,则判断第一历史页面中页面标签的属性是否与爬取任务一致,目标页面数据所在页面标签的属性是否相同; 如果第一历史页面中的页面标签属性与爬取任务中目标页面数据所在页面标签的属性相同,则判断第一历史页面可用; 如果第一个历史页面中不存在该页面标签,或者第一个历史页面中的页面标签的属性与爬取任务中目标页面数据所在的页面标签的属性不相同,则确定第一历史页面不可用。 11.根据权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述配置信息还包括历史页面有效时间,所述检测第一历史页面是否可用包括: 判断第一历史页面是否可用。 历史页面是否在历史页面有效时间内; 如果第一个历史页面在历史页面的有效时间内,则对第一个历史页面进行预分析,判断抓取任务中目标页面数据所在的页面标签是否在第一个历史中是否存在页; 如果该页面标签存在于第一个历史页面中,则判断第一个历史页面中的页面标签的属性与抓取任务中目标页面数据所在页面标签的属性是否相同; 如果第一历史页面中的页面标签的属性与爬取任务中目标页面数据所在页面标签的属性相同,则确定第一历史页面可用; 如果第一个历史页面不在有效期内的历史页面中,或者第一个历史页面中不存在页面标签,或者第一个历史页面中的页面标签属性与页面属性不同抓取任务中目标页面数据所在的tag 如果相同,则确定第一个历史页面不可用。

12.如权利要求8所述的网络爬虫数据抓取方法,其特征在于,所述根据所述网络带宽使用均值E(w)和方差D(w)计算各网络爬虫的可用性,包括:提取当前时间之前预设时间长度内各网络爬虫的网络带宽使用均值E(w)和方差D(w); 根据每个网络爬虫在预设时间长度(w)内的网络带宽使用均值E(w)和方差D,采用朴素贝叶斯分类算法计算每个网络爬虫的可用概率和不可用概率。 13.根据权利要求12所述的网络爬虫数据抓取方法,其特征在于,根据可用性确定执行任务的网络爬虫包括: 比较网络爬虫的可用概率和不可用概率; 如果网络爬虫的可用概率大于不可用概率,则确定网络爬虫可用; 否则java抓取网页数据,确定网络爬虫不可用; 对于可用的网络爬虫,按照可用概率从大到小的顺序选择执行任务的网络爬虫。 14.一种网络爬虫抓取任务分配装置,其特征在于,包括: 网络带宽利用率处理单元,用于定时检测网络爬虫的网络带宽利用率,计算每个网络爬虫的网络带宽利用率平均值E(w网络爬虫)和方差D(w)并存储,其中,w为网络带宽利用率; 爬虫可用性计算单元,用于在接收到爬虫任务时,根据网络带宽利用率均值E(w)和方差D(w)计算各网络爬虫的可用性; 第一个爬虫根据...确定一个单元

【专利技术性质】

技术研发人员:刘青、张美德、尹贤军、邹其萌、

申请人(专利权):阿里巴巴集团控股有限公司,

类型:发明

国家、省市:开曼群岛; KY

下载所有详细技术资料 我是该专利的所有者