网页数据的下载方法及装置的制造方法

文档序号:8258773阅读:322来源:国知局
网页数据的下载方法及装置的制造方法
【技术领域】
[0001]本公开涉及互联网技术领域,尤其涉及一种网页数据的下载方法及装置。
【背景技术】
[0002]随着互联网技术的发展,互联网上的数据爆炸性增长。传统的单机网络爬虫系统因获取网页数据的速度较慢、准确性较低,很难适应大规模的网页数据获取需求。为了提高获取速度以及准确性,分布式网络爬虫系统应运而生。分布式网络爬虫系统作为一种新的数据获取系统,具有单机网络爬虫系统无法比拟的数据采集速度和规模,可快速地为抓取到更多的网页数据。
[0003]分布式网络爬虫系统由调度器和多个下载器组成,其中,调度器负责为各个下载器分配待下载网址,下载器用于根据待下载网址从互联网上下载网页数据。在分布式网络爬虫系统中,调度器和下载器间采用RPC(Rem0te Procedure Call,远程过程调度)协议进行通信。基于分布式网络爬虫系统,相关技术在下载网页数据时,调度器和下载器需要先获知彼此的地址端口等配置信息,然后调度器根据待下载网址的数量,确定为各个下载器分配的待下载网址,进而通过各个下载器的地址端口将待下载地址发送至各个下载器,基于接收到的下载网址,下载器就可从互联网上下载网页数据。

【发明内容】

[0004]为克服相关技术中存在的问题,本公开提供一种网页数据的下载方法及装置。
[0005]根据本公开实施例的第一方面,提供一种网页数据的下载方法,该方法包括:
[0006]获取待抓取网页数据的一级网址;
[0007]从所述一级网址的网页数据中,提取多个二级网址,所述一级网址的网页数据中包含多个二级网址及干扰数据;
[0008]将所述多个二级网址加入第一消息队列;
[0009]基于所述第一消息队列,下载二级网址对应的网页数据。
[0010]结合第一方面,在第一方面的第一种可能的实现方式中,所述基于所述第一消息队列,下载二级网址对应的网页数据,包括:
[0011]根据所述第一消息队列中的二级网址数量及各个下载实例的属性信息,为各个下载实例分配二级网址,所述属性信息包括下载实例的数量及下载实例的下载状态;
[0012]基于分配的二级网址,通过各个下载实例下载二级网址对应的网页数据。
[0013]结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述第一消息队列中的二级网址数量及各个下载实例的属性信息,为各个下载实例分配二级网址,包括:
[0014]根据所述第一消息队列中的二级网址数量及下载实例的数量,将所述第一消息队列中的二级网址平均分配给各个下载实例;或,
[0015]根据各个下载实例的下载状态,确定各个下载实例的下载优先级,按照各个下载实例的下载优先级,将所述第一消息队列中的二级网址,分配给各个下载实例。
[0016]结合第一方面,在第一方面的第三种可能的实现方式中,所述基于所述第一消息队列,下载二级网址对应的网页数据之后,还包括:
[0017]将下载得到的网页数据加入第二消息队列;
[0018]从所述第二消息队列中,获取下载得到的网页数据;
[0019]从所述下载得到的网页数据中,提取指定数据;
[0020]根据所述指定数据的数据类型,对所述指定数据进行处理。
[0021]结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述从所述下载得到的网页数据中,提取指定数据,包括:
[0022]根据预先设置的提取条件,从所述下载得到的网页数据中,提取指定数据。
[0023]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据预先设置的提取条件,从所述下载得到的网页数据中,提取指定数据,包括:
[0024]根据预设关键字,从所述下载得到的网页数据中,提取包含所述预设关键字的指定数据;或;
[0025]根据预设提取段落,从所述下载得到的网页数据中,提取位于所述预设提取段落上的指定数据。
[0026]结合第一方面的第三种可能的实现方式,在第一方面的第六种可能的实现方式中,所述根据所述指定数据的数据类型,对所述指定数据进行处理,包括:
[0027]当所述指定数据的数据类型为解析数据,存储所述指定数据;
[0028]当所述指定数据的数据类型为网址数据,将所述指定数据加入到所述第一消息队列。
[0029]根据本公开实施例的第二方面,提供一种网页数据的下载装置,该装置包括:
[0030]第一获取模块,用于获取待抓取网页数据的一级网址;
[0031]第一提取模块,用于从所述一级网址的网页数据中,提取多个二级网址,所述一级网址的网页数据中包含多个二级网址及干扰数据;
[0032]第一加入模块,用于将所述多个二级网址加入第一消息队列;
[0033]下载模块,用于基于所述第一消息队列,下载二级网址对应的网页数据。
[0034]结合第二方面,在第二方面的第一种可能的实现方式中,所述下载模块,用于根据所述第一消息队列中的二级网址数量及各个下载实例的属性信息,为各个下载实例分配二级网址,所述属性信息包括下载实例的数量及下载实例的下载状态;基于分配的二级网址,通过各个下载实例下载二级网址对应的网页数据。
[0035]结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述下载模块,具体用于根据所述第一消息队列中的二级网址数量及下载实例的数量,将所述第一消息队列中的二级网址平均分配给各个下载实例;或,所述下载模块,具体用于根据各个下载实例的下载状态,确定各个下载实例的下载优先级,按照各个下载实例的下载优先级,将所述第一消息队列中的二级网址,分配给各个下载实例。
[0036]结合第二方面,在第二方面的第三种可能的实现方式中,所述装置,还包括:
[0037]第二加入模块,用于将下载得到的网页数据加入第二消息队列;
[0038]第二获取模块,用于从所述第二消息队列中,获取下载得到的网页数据;
[0039]第二提取模块,用于从所述下载得到的网页数据中,提取指定数据;
[0040]处理模块,用于根据所述指定数据的数据类型,对所述指定数据进行处理。
[0041]结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述第二提取模块,用于根据预先设置的提取条件,从所述下载得到的网页数据中,提取指定数据。
[0042]结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二提取模块,具体用于根据预设关键字,从所述下载得到的网页数据中,提取包含所述预设关键字的指定数据;或;所述第二提取模块,具体用于根据预设提取段落,从所述下载得到的网页数据中,提取位于所述预设提取段落上的指定数据。
[0043]结合第二方面的第三种可能的实现方式,在第二方面的第六种可能的实现方式中,所述处理模块,用于当所述指定数据的数据类型为解析数据,存储所述指定数据;当所述指定数据的数据类型为网址数据,将所述指定数据加入到所述第一消息队列。
[0044]根据本公开实施例的第三方面,提供一种网页数据的下载装置,包括:
[0045]处理器;
[0046]用于存储处理器可执行的指令;
[0047]其中,所述处理器被配置为:
[0048]获取待抓取网页数据的一级网址;
[0049]从所述一级网址的网页数据中,提取多个二级网址,所述一级网址的网页数据中包含多个二级网址及干扰数据;
[0050]将所述多个二级网址加入第一消息队列;
[0051]基于所述第一消息队列,下载二级网址对应的网页数据。
[0052]本公开的实施例提供的技术方案可以包括以下有益效果:
[0053]在获取到待抓取网页数据的一级网址后,从一级网址的网页数据中,提取多个二级网址,并将多个二级网址加入第一消息队列,进而基于第一消息队列,下载二级网址对应的网页数据。由于借助消息队列下载网页数据,无需获知地址端口等配置信息,基于消息队列中存储的二级网址下载即可,因此,降低了资源消耗,简化了下载的复杂度。
[0054]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1