网页抓取方法及装置制造方法及图纸

技术编号:13800846 阅读:98 留言:0更新日期:2016-10-07 06:54
本申请公开一种网页抓取方法,包括:确定不同任务类型的可以执行的网页抓取任务;分别为不同任务类型的可以执行的网页抓取任务分配抓取资源;利用分配的抓取资源,执行所述可以执行的网页抓取任务。该方法通过给不同任务类型的网页抓取任务分配抓取资源,使得不同任务类型的网页抓取任务能够同时执行,克服了现有技术中存在的网页抓取效率的普遍偏低的问题。本申请还公开一种网页抓取装置。

【技术实现步骤摘要】

本申请涉及计算机
,尤其涉及一种网页抓取方法及装置
技术介绍
现有技术中,大部分的网页抓取系统(如Heritrix、Lucene等开源系统)一般都采用分布式的抓取方式进行网页抓取,即在分布式抓取服务器集群环境下,根据用户输入的种子URL以及配置的URL抓取规则,采用抓取服务器执行网页抓取任务的方式进行大规模的网页抓取。一般情况下,针对不同的网页抓取需求,用户需要配置不同的URL抓取规则从而形成不同任务类型的网页抓取任务。然而,上述网页抓取方式存在的缺陷在于:所有的网页抓取任务直接共享分布式抓取服务器集群的抓取资源(抓取资源为硬件资源和/或网络资源),即,不同任务类型的网页抓取任务不能同时进行,只能排队依序进行。由于上述缺陷的存在,现有的网页抓取系统的网页抓取效率普遍偏低。
技术实现思路
本申请实施例提供一种网页抓取方法,用以解决现有技术中网页抓取效率偏低的问题。本申请实施例提供一种网页抓取装置,用以解决现有技术中网页抓取效率偏低的问题。本申请实施例提供一种网页抓取方法,包括:确定不同任务类型的可以执行的网页抓取任务;分别为不同任务类型的可以执行的网页抓取任务分配抓取资源;利用分配的抓取资源,执行所述可以执行的网页抓取任务。本申请实施例提供一种网页抓取装置,包括:确定模块,用于确定不同任务类型的可以执行的网页抓取任务;分配模块,用于分别为不同任务类型的可以执行的网页抓取任务分配抓取资源;抓取模块,用于利用分配的抓取资源,执行所述可以执行的网页抓取任务。在本申请实施例中,由于不同类型的网页抓取任务能够分配到各自的抓取资源,使得抓取服务器的硬件资源及配置于抓取服务器上的网络资源均能够得到充分、有效的分配和利用,因此本申请提供的网页抓取方法及装置克服了现有技术中存在的网页抓取效率的普遍偏低的问题。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例提供的一种网页抓取方法;图2为本申请实施例提供的一种网页抓取方法的一个步骤的具体内容;图3为本申请实施例提供的一种网页抓取装置。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请实施例提供的一种网页抓取方法,该网页抓取方法在一个分
布式实时计算系统(Jstorm)上运行,而Jstorm系统则运行在网页抓取服务器上。Jstorm是一个分布式实时计算系统,类似Hadoop Mapreduce,用户按照规定的编程规范实现一个任务或程序,将任务或程序放到Jstorm上,Jstorm就将任务或程序7*24小时调度起来。本申请实施例提供的网页抓取方法即为一个任务或程序。本申请实施例提供的一种网页抓取方法,具体包括以下步骤:S101:确定不同任务类型的可以执行的网页抓取任务。在本申请实施例中,网页抓取采用分布式的抓取方式,即由多台网页抓取服务器协同工作共同完成网页抓取,并且多台网页抓取服务器可以采用主从式(Master-Slave)的协同工作方式。分布式集群内的多台网页抓取服务器包括一台主网页抓取服务器及若干台从网页抓取服务器。步骤S101可以是由主网页抓取服务器来完成。在本申请实施例中,用户提交的网页抓取任务内包括了要抓取网页对应的若干统一资源定位符(Uniform Resource Locator,URL)。用户可以根据自己的网页抓取需求来配置网页抓取的类型,从而形成不同任务类型的网页抓取任务。具体地,网页抓取的任务类型由网页抓取任务的抓取规则决定,而抓取规则由网页抓取深度及网页抓取频次两个参数决定。优选地,在本申请实施例中,网页抓取的任务类型包括四种,具体包括:任务类型A:分别为网页抓取频次为一次性抓取,网页抓取深度为一层;任务类型B:网页抓取频次为一次性抓取,网页抓取深度为二层;任务类型C:网页抓取频次为周期性抓取,网页抓取深度为一层;任务类型D:网页抓取频次为周期性抓取,网页抓取深度为二层。需要进一步说明的是,当网页抓取频次为周期性抓取时,所述抓取规则还包括用户配置的网页抓取的抓取周期,即需要配置crontab表达式来实现定时的网页抓取。当网页抓取深度为二层时,抓取规则还包括用户配置的第二层网页抓取时网页提取时的Xpath表达式。Xpath是一门在XML文档中查找信息
的语言。Xpath可用来在XML文档中对元素和属性进行遍历。在一种实施方式中,请参考图2,步骤S101:确定不同任务类型的可以执行的网页抓取任务,具体包括以下步骤:S1011:轮询不同任务类型的各个网页抓取任务的运行状态。在本申请实施例中,各种任务类型包括均包括用户提交的若干个网页抓取任务,上述每种任务类型的若干个网页抓取任务按用户提交的时间顺序,依次排队等待执行,当然每种任务类型内可能包括运行结束的网页抓取任务。轮询不同任务类型的各个网页抓取任务的运行状态由主网页抓取服务器来完成。网页抓取任务的运行状态包括待运行、运行中、运行结束等状态。比如,任务类型A包括若干用户提交网页抓取任务a1、a2、a3、a4等,上述网页抓取任务a1、a2、a3、a4依次排队且分别具有对应的运行状态,网页抓取任务a1处于运行结束状态,网页抓取任务a2、a3、a4处于待运行状态。S1012:根据网页抓取任务的运行状态,标识出不同任务类型的可以执行的网页抓取任务。在本申请实施例中,根据每种任务类型的各个网页抓取任务的运行状态及运行顺序来标识每种任务类型的可以执行的网页抓取任务。上述可以执行的网页抓取任务指上一个网页抓取任务已运行结束,将要轮到执行的待运行网页抓取任务。标识出不同任务类型的可以执行的网页抓取任务也是由主网页抓取服务器来完成。继续沿用上例来说明,当网页抓取任务a1处于运行结束状态时,排在网页抓取任务a1后面的网页抓取任务a2就被标识为一个可以执行的网页抓取任务。通过以上两个步骤,就可以确定不同任务类型的可以执行的网页抓取任务。S102:分别为不同任务类型的可以执行的网页抓取任务分配抓取资源。在本申请实施例中,主网页抓取服务器分别为不同任务类型的可以执行的网页抓取任务分配互不冲突的抓取资源。抓取资源具体包括从网页抓取服务器
中央处理器创建的线程及配置于从网页抓取服务器上的互联网协议地址(Internet Protocol Address,IP地址)。主网页抓取服务器针对不同任务类型的网页抓取任务分别分配抓取资源,抓取资源的分配原则按网页抓取任务的任务类型的繁重程度来进行分配。任务类型较为繁重的网页抓取任务,主网页抓取服务器针对此类型的网页抓取任务分配的抓取资源较多,反之,任务类型较为简单的网页抓取任务,主网页抓取服务器针对此类型的网页抓取任务分配的抓取资源则较少。主网页抓取服务器分别为不同类型的可以执行的网页抓取任务分配若干由不同从网页抓取服务器中央处理器创建的线程。另外,主网页抓取服本文档来自技高网
...

【技术保护点】
一种网页抓取方法,其特征在于,包括:确定不同任务类型的可以执行的网页抓取任务;分别为不同任务类型的可以执行的网页抓取任务分配抓取资源;利用分配的抓取资源,执行所述可以执行的网页抓取任务。

【技术特征摘要】
1.一种网页抓取方法,其特征在于,包括:确定不同任务类型的可以执行的网页抓取任务;分别为不同任务类型的可以执行的网页抓取任务分配抓取资源;利用分配的抓取资源,执行所述可以执行的网页抓取任务。2.如权利要求1所述的方法,其特征在于:所述任务类型由网页抓取任务的抓取规则决定。3.如权利要求2所述的方法,其特征在于,所述抓取规则由网页抓取深度及网页抓取频次决定。4.如权利要求3所述的方法,其特征在于,所述抓取规则包括:网页抓取频次为一次性抓取,网页抓取深度为一层;网页抓取频次为一次性抓取,网页抓取深度为二层;网页抓取频次为周期性抓取,网页抓取深度为一层;网页抓取频次为周期性抓取,网页抓取深度为二层。5.如权利要求4所述的方法,其特征在于,所述网页抓取深度为二层时,所述抓取规则还包括配置第二层网页抓取时网页提取的Xpath表达式。6.如权利要求4所述的方法,其特征在于,所述网页抓取频次为周期性抓取时,所述抓取规则还包括需要配置网页抓取的抓取周期。7.如权利要求1所述的方法,其特征在于,所述确定不同任务类型的可以执行的网页抓取任务,具体包括:轮询不同任务类型的各个网页抓取任务的运行状态;根据网页抓取任务的运行状态,标识出不同任务类型的可以执行的网页抓取任务。8.如权利要求7所述的方法,其特征在于,所述运行状态包括:待运行、运行中、运行结束。9.如权利要求1所述的方法,其特征在于,所述分别为不同任务类型的可以执行的网页抓取任务分配抓取资源,具体包括:分别为不同任务类型的可以执行的网页抓取任务分配互不冲突的抓取资源。10.如权利要求1所述的方法,其特征在于,所述抓取资源包括网页抓取服务器处理器创建的线程及配置于网页抓取服务器上的IP地址。11.如权利要求10所述的方法,其特征在于,所述分别为不同任务类型的可以执行的网页抓取任务分配抓取资源,具体包括:分别为不同类型的可以执行的网页抓取任务分配由不同网页抓取服务器处理器创建的线程。12.如权利要求11所述的方法,其特征在于,所述分别为不同任务类型的可以执行的网页抓取任务分配抓取资源,还包括:分配IP地址给对应的网页抓取服务器创建的线程来使用。13.如权利要求1所述的方法,其特征在于,利用分配到的抓取资源,执行所述可以执行的网页抓取任务,具体包括:调用超文本传输协议访问可以执行的网页抓取任务内的URL并获取URL对应的网页。14.如权利要求13所述的方法,其特征在于,所述方法还包括:将每个已完成的网页抓取任务内的部分URL对应的网页压缩为相应的子压缩文件;将压缩得到的所有分散的子压缩文件合成为一总压缩文件;保存总压缩文件至一台服务器上以供...

【专利技术属性】
技术研发人员:王林青
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1