网络爬虫调度方法、装置及设备
技术领域
本发明涉及数据获取技术,尤其涉及一种网络爬虫调度方法、装置及设备。
背景技术
随着互联网技术及大数据处理科学的高速发展,在互联网应用服务中,大数据扮演着越来越重要的角色。
网络爬虫作为大数据技术的基础数据支持部分,是大数据系统中十分重要的组成部分,它负责从互联网中搜集网页,解析、归纳页面类容,为大数据的研究提供数据来源。
但是,在现有的爬虫系统中,只根据各站点的优先级、活跃度等因素对各站点任务进行调度,导致现有技术中的爬虫系统,存在浪费系统资源、资源利用率较低的问题。
发明内容
本发明提供一种网络爬虫调度方法、装置及设备,以解决现有技术中的爬虫系统,存在浪费系统资源、资源利用率较低的问题
本发明的第一个方面是提供一种网络爬虫调度方法,包括:
获取站点的刷新频率,并将所述刷新频率发送至下载模块,以使所述下载模块根据所述刷新频率对所述站点的列表页进行刷新;
根据刷新结果确定所述站点的实际刷新比例;
根据所述实际刷新比例确定所述站点是否存在异常情况,若是,则将所述站点标记为异常站点,并且向所述下载模块发送停止刷新指令,以使所述下载模块不再对所述异常站点的列表页进行刷新。
本发明的另一个方面是提供一种网络爬虫调度装置,包括:
获取模块,用于获取站点的刷新频率,并将所述刷新频率发送至下载模块,以使所述下载模块根据所述刷新频率对所述站点的列表页进行刷新;
第一确定模块,用于根据刷新结果确定所述站点的实际刷新比例;
第二确定模块,用于根据所述实际刷新比例确定所述站点是否存在异常情况,若是,则将所述站点标记为异常站点,并且向所述下载模块发送停止刷新指令,以使所述下载模块不再对所述异常站点的列表页进行刷新。
本发明的又一个方面是提供一种网络爬虫调度设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第一方面所述的网络爬虫调度方法。
本发明提供的网络爬虫调度方法、装置及设备的技术效果是:
本实施例提供的网络爬虫调度方法、装置及设备,包括获取站点的刷新频率,并将刷新频率发送至下载模块,以使下载模块根据刷新频率对站点的列表页进行刷新;根据刷新结果确定站点的实际刷新比例;根据实际刷新比例确定站点是否为存在异常情况,若是,则将站点标记为异常站点,并且向下载模块发送停止刷新指令,以使下载模块不再对异常站点的列表页进行刷新。本实施例提供的方法、装置及设备,能够根据站点列表页的实际刷新比例确定站点是否存在异常情况,并将存在异常情况的站点标记为异常站点,同时控制下载模块不对异常站点的列表页进行刷新,进而不采集异常站点中的网页数据。因此,本实施例提供的方案能够通过控制下载模块的工作状态,避免下载模块从异常站点中采集无用网页数据引起的资源浪费问题,同时还能够提高采集有用网页数据的效率。
附图说明
图1为本发明一示例性实施例示出的网络爬虫调度方法的流程图;
图2为本发明另一示例性实施例示出的网络爬虫调度方法的流程图;
图3为本发明又一示例性实施例示出的网络爬虫调度方法的流程图;
图4为本发明一示例性实施例示出的网络爬虫调度装置的结构图;
图5为本发明另一示例性实施例示出的网络爬虫调度装置的结构图。
具体实施方式
图1为本发明一示例性实施例示出的网络爬虫调度方法的流程图。
如图1所示,本实施例提供的网络爬虫调度方法包括:
步骤101,获取站点的刷新频率,并将刷新频率发送至下载模块,以使下载模块根据刷新频率对站点的列表页进行刷新。
其中,可以预先设置各个站点的优先级,并设置与优先级对应的初始化刷新频率,在执行本实施例提供的方法时,可以直接获取与站点对应的初始化刷新频率。另外,也可以设置各个站点对应的初始化刷新频率。
具体的,在获取到与站点相应的刷新频率后,可以将该频率发送至下载模块,从而使下载模块能够根据接收的刷新频率对该站点的列表页进行刷新。向下载模块发送刷新频率时,还可以同时发送站点标识,从而使下载模块确定各个站点与刷新频率之间的对应关系,例如,向下载模块发送A网站-1次/5分钟,即每5分钟刷新一次A网站的列表页,下载模块可以按照接收到的刷新频率对A网站的列表页进行刷新。
进一步的,列表页为用于数据信息采集的网页。一般针对每个网站进行数据信息采集时,将该网站中初始进行信息采集的每个URL信息作为一个列表页,即将某一网页的URL信息作为初始数据信息采集的列表页。
实际应用时,下载模块在刷新完列表页后,还下载列表页对应的网页内容,具体可以下载未下载过的数据内容。例如,网站A的列表页中包括5个链接,其中4个链接中的内容已经被获取过了,则仅获取另外一个链接所对应的网页内容。
步骤102,根据刷新结果确定站点的实际刷新比例。
其中,可以读取下载模块刷新得到的刷新结果,也可以是刷新后的列表页,也可以由下载模块将刷新结果或刷新后得到的列表页发送给执行本实施例提供的方法的调度设备。
具体的,实际刷新比例可以使用列表页中包括的新的下载链接与全部的下载链接的比值来确定。新的下载链接是指列表页中未下载过网页数据的链接。
进一步的,若实际刷新比例较高,则可以认为该网站更新内容的频率较高,若实际刷新比例较低,则可以认为该网址更新内容的频率较低。
步骤103,根据实际刷新比例确定站点是否存在异常情况。
其中,若网站的实际刷新比例高于正常情况,则可以将该网站设定为异常网站。
具体的,在首次刷新时,实际刷新比例会较高,这种情况属于正常情况,因此,可以根据除首次刷新以外的实际刷新比例确定站点是否存在异常情况。
进一步的,为了避免对站点的误判,还可以根据站点连续多次的实际刷新比例确定站点是否存在异常情况。例如,可以连续读取最近5次下载模块刷新后的列表页,并确定这5个列表页的实际刷新比例,若均大于预设值,则可以认为该站点存在异常情况。若采用这种实施方式,则不必剔除首次刷新的实际刷新比例。
实际应用时,还可以读取下载模块每次刷新的列表页,并确定该列表页的实际刷新比例是否大于预设值。若是,则连续检测在该列表页之后获得的5次列表页,并确定这5个列表页的实际刷新比例,若均大于预设值,则确定该站点存在异常情况。采用这种实施方式,每次仅需要确定一个列表页的实际刷新比例,因此能够减轻处理器的处理压力。
若确定站点存在异常情况,则执行步骤104;若确定站点正常,则继续执行步骤102。
步骤104,将站点标记为异常站点,并且向下载模块发送停止刷新指令,以使下载模块不再对异常站点的列表页进行刷新。
其中,若确定站点异常,则可以将该站点标记为异常站点,还可以定期将标记异常的站点发送至工作人员,以使工作人员进一步的对该站点进行判断。例如,可以每1个小时向工作人员发送一次被标记为异常站点的站点信息。
具体的,有一些站点出现异常情况是由于被黑客或病毒攻击导致的,在站点的维护人员对其进行维护后,该站点就能够恢复正常。因此,还可以在站点被标记为异常的一段时间以后,取消该异常标记,并控制下载模块继续刷新该站点的列表页。若同一站点被连续被标记为异常站点的次数超过次数阈值,则不再自动取消该站点的异常标记。例如,可以在站点被标记为异常站点3个工作日后,取消其异常站点标识,若取消后,又将该站点标记为异常站点,则不再取消其异常站点的标记。其中,标记为异常站点的持续时间以及次数阈值均可以根据需求进行设置。
进一步的,还可以向下载模块发送停止刷新指令。刷新指令中可以包括站点标识,从而使下载模块不再对异常站点的列表页进行刷新。
实际应用时,站点的更新情况不会特别频繁,因此列表页的实际刷新比例也不会一直很高。例如一些门户网站中的内容会随着时间的变化而变化,如替换一些实时新闻等,但不会在短时间内大部分都变化。因此,若站点的列表页出现实际刷新比例较高的情况,或短时间内连续多次列表页的实际刷新比例都较高,则可以认为该站点存在异常情况。若站点出现异常,则可以认为从该站点获取的数据内容没有采集意义,因此,可以控制下载模块不刷新异常站点的列表页,进而不采集异常站点中的网页数据。同时,若站点的实际刷新比例一直很高,还会造成下载模块需要花费大量的资源采集该站点中没有采集意义网页数据内容,造成资源浪费,同时降低采集正常的网页内容的效率。因此,不对异常站点的列表页进行刷新,能够避免资源浪费,提高数据采集效率。
其中,若站点不存在异常情况,则不向下载模块发送停止刷新指令,使下载模块能够继续刷新该站点的列表页,进而使执行本实施例提供的方法的调度装置能够继续根据刷新后的列表页确定站点的实际刷新比例。
具体的,本实施例提供的方法用于调度下载模块采集网页数据,由存储有本实施例提供的方法的调度装置执行,该装置通常以硬件和/或软件的方式来实现。
本实施例提供的网络爬虫调度方法,包括获取站点的刷新频率,并将刷新频率发送至下载模块,以使下载模块根据刷新频率对站点的列表页进行刷新;根据刷新结果确定站点的实际刷新比例;根据实际刷新比例确定站点是否为存在异常情况,若是,则将站点标记为异常站点,并且向下载模块发送停止刷新指令,以使下载模块不再对异常站点的列表页进行刷新。本实施例提供的方法,能够根据站点列表页的实际刷新比例确定站点是否存在异常情况,并将存在异常情况的站点标记为异常站点,同时控制下载模块不对异常站点的列表页进行刷新,进而不采集异常站点中的网页数据。因此,本实施例提供的方案能够通过控制下载模块的工作状态,避免下载模块从异常站点中采集无用网页数据引起的资源浪费问题,同时还能够提高采集有用网页数据的效率。
图2为本发明另一示例性实施例示出的网络爬虫调度方法的流程图。
如图2所示,本实施例提供的网络爬虫调度方法,包括:
步骤201,获取站点的刷新频率,并将刷新频率发送至下载模块,以使下载模块根据刷新频率对站点的列表页进行刷新。
步骤201与步骤101的具体原理和实现方式类似,此处不再赘述。
其中,在首次刷新站点的列表页时,获取的为站点的初始刷新频率,再次刷新站点的列表页时,获取的是步骤204或207中更新后的刷新频率。
步骤202,根据刷新结果确定站点的实际刷新比例。
步骤202与步骤102的具体原理和实现方式类似,此处不再赘述。
步骤203,比较实际刷新比例与标准比例的大小。
具体的,可以预先根据需求设置标准比例。标准比例是指常规情况下实际刷新比例的大小。
若实际刷新比例大于标准比例,则执行步骤204。
步骤204,根据第一预设规则增加站点的刷新频率。
若实际刷新比例大于标准比例,则可以认为该站点的更新速度较快,频率较高。因此,提高刷新该站点列表页的频率,以免在刷新间隔内漏掉站点的网页数据。例如,A站点在17:18更新了第一条新闻,在17:20将第一条新闻替换为了第二条新闻,而刷新频率为每5分钟刷新一次,若连续两次刷新时间为17:15、17:20,那么就会遗漏17:18时更新的第一条新闻。
进一步的,第一预设规则可以根据需求设置,例如,可以在实际刷新比例大于标准比例时,将刷新频率更新为原刷新频率的2倍,如原刷新频率为1次/5分钟,则更新后的刷新频率为2次/5分钟,即原来每5分钟刷新一次站点的列表页,更新后每2.5分钟刷新一次站点的列表页。
实际应用时,还可以设置刷新频率上限值,若调整后的刷新频率大于频率上限值,则将频率上限值作为更新后的刷新频率。以免刷新频率过高,导致下载模块在下载某个站点的网页数据时浪费太多资源。
在步骤204之后,根据调整后的刷新频率执行步骤201。
步骤205,连续检测站点预设次数的实际刷新比例是否均大于等于预设阈值。
若实际刷新比例大于标准比例,还可以检测该站点是否存在异常情况。
一般情况下,站点的更新情况不会特别频繁,因此列表页的实际刷新比例也不会一直很高,因此,可以通过站点的实际刷新比例确定该站点是否存在异常情况。
可以连续检测站点预设次数的实际刷新比例是否均大于等于预设阈值,若是,则判断该站点存在异常情况,否则,判断该站点正常。
其中,预设阈值为根据需求设置的值,可以是80%、90%、100%。同样,预设次数也是根据需求设定的值,如5次、7次、10次等。
可以检测当前确定的实际刷新比例以后的连续几次实际刷新比例是否均大于等于预设阈值。例如预设次数为5,预设阈值为90%,当前确定的实际刷新比例为100%,则在此之后再确定5次实际刷新比例,并确定这5次实际刷新比例是否均大于等于90%,若是,则判断该站点存在异常情况。
若确定站点存在异常情况,则执行步骤206。若站点不存在异常,则根据调整后的刷新频率正常执行步骤201,继续刷新该站点的列表页。
步骤206,将站点标记为异常站点,并且向下载模块发送停止刷新指令,以使下载模块不再对异常站点的列表页进行刷新。
若实际刷新比例小于标准比例,则执行步骤207。
步骤207,根据第二预设规则减小站点的刷新频率。
若实际刷新比例小于标准比例,则可以认为该站点的更新速度较慢,频率较低。因此,可以降低刷新该站点列表页的频率,以免下载模块多次刷新后得到列表页内容相同,造成资源浪费。
其中,第二预设规则可以按照需求设定,例如,可以将刷新频率更新为原刷新频率的1/1.5倍。例如,原刷新频率为1次/5分钟,即5分钟刷新一次网站列表页。更新后的刷新频率为1次/7.5分钟,即7.5分钟刷新一次网站列表页。
实际应用时,还可以设置刷新频率下限值,若调整后的刷新频率小于频率下限值,则将频率下限值作为更新后的刷新频率。以免刷新频率过低,导致下载模块在下载某个站点的网页数据时发生遗漏。
在步骤204、207后,根据调整后的刷新频率执行获取站点的刷新频率的步骤。
若实际刷新比例等于标准比例,则继续执行步骤202。下载模块基于之前的刷新频率继续对站点的列表页进行刷新。
进一步的,上述标准比例可以是一个值,还可以是一个数值范围。当确定的实际刷新比例大于该范围的上限值时,则执行步骤204;当实际刷新比例小于该范围的下限值时,则执行步骤207。从而避免实际刷新比例在标准值上下浮动,引起持续调整刷新频率的问题。
本实施例提供的网络爬虫调度方法,能够根据站点列表页的实际刷新比例确定站点是否存在异常情况,并将存在异常情况的站点标记为异常站点,同时控制下载模块不对异常站点的列表页进行刷新,进而不采集异常站点中的网页数据。同时,还能够根据实际刷新比例调整刷新频率,从而更加合理的利用下载模块的资源,从而提高资源利用率。
图3为本发明又一示例性实施例示出的网络爬虫调度方法的流程图。
如图3所示,本实施例提供的网络爬虫调度方法,包括:
步骤301,获取站点的刷新频率,并将刷新频率发送至下载模块,以使下载模块根据刷新频率对站点的列表页进行刷新。
步骤302,根据刷新结果页确定站点的实际刷新比例。
步骤303,根据实际刷新比例确定站点是否存在异常情况,若是,则将站点标记为异常站点,并且向下载模块发送停止刷新指令,以使下载模块不再对异常站点的列表页进行刷新。
步骤301-303的具体原理和实现方式均与图1或图2所示的实施例类似,此处不再赘述。
为了更加合理的利用下载模块的资源,本实施例提供的网络爬虫调度方法,在步骤301之后还包括:
步骤304,获取下载模块下载站点的网页数据时的连接时间、处理时间。
其中,步骤304-306适用于分布式爬虫系统,即系统中包括多个下载模块,能够根据下载同一个站点的网页数据时所需要的时间,向各个下载模块更加合理的分配下载任务。
可以由执行本实施例提供的方法的调度装置向下载模块发送获取请求,也可以是下载模块主动将下载网页数据的信息发送至执行本实施例提供的方法的调度装置,从而能够获取到下载站点的网页数据时所需要的连接时间、处理时间。
具体的,下载模块在下载网页时可以分为三个阶段:连接、处理以及传输。其中,连接以及处理过程所花费的时间较多,因此,可以根据连接时间、处理时间向各个下载模块分配下载任务。
步骤305,根据连接时间、处理时间确定下载站点的网页数据的平均连接时间、平均处理时间。
对于同一个站点,可以根据获取的该站点的连接时间、处理时间计算得到相应的平均连接时间、平均处理时间。可以直接计算获取的至少一个连接时间的平均值,从而得到平均连接时间;直接计算获取的至少一个处理时间的平均值,从而得到平均处理时间。
步骤306,根据平均连接时间、平均处理时间向多个下载模块分配下载任务。
可以确定多个站点所对应的平均连接时间、平均处理时间,并将平均连接时间、平均处理时间相加,得到每个站点对应的平均下载时间。可以将平均下载时间较长以及较短的下载任务分配到一个下载模块中,从而更加充分的使用带宽资源。
另外,还可以设置下载时间阈值,平均下载时间大于该时间阈值的下载任务则认为是速度慢的下载任务,平均下载时间小于等于该时间阈值的下载任务则认为是速度快的任务。当使用轮询方法向各个下载模块调度下载任务时,可以将速度慢的下载任务连续发出,连续发出的“慢”任务数量为下载模块的整数倍,如5倍。然后发出同样多的“快”任务,这样,不同速度的任务均匀分配到各个下载模块,能够更加充分的使用下载模块的带宽资源。
进一步的,本实施例提供的方法还可以包括以下步骤,用于根据单个下载模块中的下载任务信息,更加合理的向其分配下载任务:
实时获取下载模块中的下载任务信息,确定每个下载任务对应的站点信息;
根据站点信息获取下载站点的网页数据的平均处理时间;
根据下载任务信息、每个下载任务对应的平均处理时间,确定向下载模块发送下载任务的数量。
其中,还可以实时获取下载模块中已由的下载任务信息,包括正在处理以及下载队列中的下载任务。例如第一个下载模块中包括10个下载任务,正在处理其中的6个,有4个在队列中处于等待状态。
具体的,还可以获取每个下载任务所对应的站点信息,即每个下载任务时下载哪个站点的数据信息的。
进一步的,可以根据站点信息获取在步骤305中确定的平均处理时间,例如站点A所对应的平均处理时间是3S。
其中,当下载模块中的下载任务过重时,容易造成大量下载任务超时或者下载失败。可以在下载模块中设置接口,使执行本实施例提供的方法的装置能够获取下载模块中的下载任务情况,若负载较重,则可以减少向下载模块中发送下载任务的数量。
具体的,可以通过下载模块中的下载任务数量以及下载任务所需时间确定下载任务是否过重。
可以直接根据从下载模块获取的下载任务信息确定其下载任务数量。例如,在下载模块的待下载队列中的未完成任务在一段时间内持续保持90%,且并发下载任务数量达到300以上,可以认为该下载模块满负荷运行,这种情况下,可以降低向下载模块发送下载任务的数量,从而降低下载模块的负荷。
解析网页是CPU(Central Processing Unit,中央处理器)密集型操作,如果在解析网页时的效率低,就会占用CPU的大量资源,导致后续的下载任务超时、返回慢等。因此,若下载模块中的下载任务总的处理时长较长,则可以降低向下载模块发送下载任务的数量,从而降低下载模块的负荷。其中,下载任务总的处理时长可以通过每个下载任务的平均处理时间确定,将下载模块中已由的各个下载任务的平均处理时间相加,得到下载任务总的处理时长。
相应的,若下载模块中的负载较轻,例如下载任务数量较少并且下载任务总的处理时长较短,则可以增加向该下载模块发送的下载任务,从而能够均衡各个下载模块的负载情况,从而合理利用资源。
本实施例提供的方法,在步骤301之后还可以包括:
步骤307,获取下载模块下载站点的网页数据的下载任务记录,并确定下载任务记录中包括的失败任务信息。
其中,可以获取下载模块下载网页数据时的下载任务记录,该下载任务记录中可以包括针对各个站点的下载任务信息。
具体的,在获取一个站点的下载任务记录时,可以最多获取距离当前时间最近的1000条下载任务记录,并确定这1000条下载任务中包括的失败任务信息。针对同一个站点,当下载任务记录不足1000条时,可以获取全部的下载任务记录。当下载任务记录超过1000条时,可以获取距离当前时间最近的1000条下载任务记录。
进一步的,可以确定其中由于站点原因造成下载失败的任务数量。
步骤308,确定站点的失败任务占下载任务的比例。
针对每一个站点,计算该站点的失败任务与全部任务的比值,从而确定该站点失败任务量占总任务量的比重。
还可以确定由于站点原因造成的失败任务占下载任务的比例。
步骤309,根据比例确定站点的重试下载次数。
其中,若失败任务比例较高,则减小该站点的重试下载次数,若失败任务比例较低,则可以不改变或增加该站点的重试下载次数。
具体的,可以设置初始重试下载次数,并根据下载失败的任务比例调整该站点的重试下载次数。
进一步的,可以根据由于站点原因造成的失败任务占下载任务的比例调整重试下载次数。若站点出现故障,导致下载模块重复下载该站点的网页数据,就会造成更多次的下载失败情况,而失败的下载过程无法获取有效数据内容,反而会增加下载模块的负担,造成资源浪费。因此,根据站点原因造成下载失败的任务比例调整重试下载次数,能够降低资源浪费。
具体的调节规则可以根据需求进行设置。例如,重试下载次数分为1次、2次、3次这三档,当站点的失败任务比例小于30%时,则重试下载次数为3次;当站点的失败任务比例大于等于30%时,小于70%时,则重试下载次数为2次;当站点的失败任务比例大于等于70%时,则重试下载次数为1次。
进一步的,还可以根据失败任务占比调整下载模块刷新该站点列表页时的刷新频率。若失败占比为100%,则可以将刷新频率调整到最大值,从而降低由于站点原因造成的资源浪费。
本实施例提供的网络爬虫调度方法,能够根据对站点的网页数据进行下载时所耗费的时间、以及下载模块对下载任务的处理能力调度各个下载任务,还能够根据站点的失败任务所占比例调整对该站点的重试下载次数,能够进一步的降低资源浪费。
图4为本发明一示例性实施例示出的网络爬虫调度装置的结构图。
如图4所示,本实施例提供的网络爬虫调度装置,包括:
获取模块41,用于获取站点的刷新频率,并将所述刷新频率发送至下载模块,以使所述下载模块根据所述刷新频率对所述站点的列表页进行刷新;
第一确定模块42,用于根据刷新结果确定所述站点的实际刷新比例;
第二确定模块43,用于根据所述实际刷新比例确定所述站点是否存在异常情况,若是,则将所述站点标记为异常站点,并且向所述下载模块发送停止刷新指令,以使所述下载模块不再对所述异常站点的列表页进行刷新。
本实施例提供的网络爬虫调度装置,包括获取模块,用于获取站点的刷新频率,并将刷新频率发送至下载模块,以使下载模块根据刷新频率对站点的列表页进行刷新;第一确定模块,用于根据刷新结果确定站点的实际刷新比例;第二确定模块,用于根据实际刷新比例确定站点是否存在异常情况,若是,则将站点标记为异常站点,并且向下载模块发送停止刷新指令,以使下载模块不再对异常站点的列表页进行刷新。本实施例提供的装置,能够根据站点列表页的实际刷新比例确定站点是否存在异常情况,并将存在异常情况的站点标记为异常站点,同时控制下载模块不对异常站点的列表页进行刷新,进而不采集异常站点中的网页数据。因此,本实施例提供的方案能够通过控制下载模块的工作状态,避免下载模块从异常站点中采集无用网页数据引起的资源浪费问题,同时还能够提高采集有用网页数据的效率。
其中,获取模块41、第一确定模块42、第二确定模块43依次连接。
本实施例提供的网络爬虫调度装置的具体原理和实现方式均与图1所示的实施例类似,此处不再赘述。
图5为本发明另一示例性实施例示出的网络爬虫调度装置的结构图。
如图5所示,在上述实施例的基础上,本实施例提供的网络爬虫调度装置,还包括:
比较模块44,用于比较所述实际刷新比例与标准比例的大小。
比较模块44与第一确定模块42连接。
若所述实际刷新比例大于所述标准比例,则调整模块45根据第一预设规则增加所述站点的刷新频率;
若所述实际刷新比例小于所述标准比例,则所述调整模块45根据第二预设规则减小所述站点的刷新频率。
比较模块44还与调整模块45连接。
所述获取模块41还用于根据所述调整模块45调整后的所述刷新频率执行获取站点的刷新频率的步骤。
获取模块41还与调整模块45连接。
可选的,所述第二确定模块43,包括:检测单元431、标记单元432;
若所述比较模块44判断所述实际刷新比例大于标准比例,则所述检测单元431用于连续检测所述站点预设次数的实际刷新比例是否均大于等于预设阈值,若是,则所述标记单元432用于将所述站点标记为所述异常站点。
比较模块44还与第二确定模块43连接。
可选的,所述获取模块41包括:时间获取单元411,用于获取所述下载模块下载所述站点的网页数据时的连接时间、处理时间;
所述第一确定模块42包括:时间确定单元421,用于根据所述连接时间、所述处理时间确定下载所述站点的网页数据的平均连接时间、平均处理时间;
所述装置还包括分配模块46,用于根据所述平均连接时间、所述平均处理时间向多个所述下载模块分配下载任务。
分配模块46与第一确定模块42将连接。
可选的,所述获取模块41还包括任务获取单元412,用于实时获取所述下载模块中的下载任务信息,确定每个所述下载任务对应的所述站点信息;
所述时间确定单元421还用于根据所述站点信息获取下载所述站点的网页数据的所述平均处理时间;
所述分配模块46还用于根据所述下载任务信息、每个所述下载任务对应的所述平均处理时间,确定向所述下载模块发送下载任务的数量。
可选的,所述获取模块41包括:记录获取单元413,用于获取所述下载模块下载所述站点的网页数据的下载任务记录,并确定所述下载任务记录中包括的失败任务信息;
所述第一确定模块42包括:比例确定单元422,用于确定所述站点的失败任务占下载任务的比例;
所述第二确定模块43包括:次数确定单元433,用于根据所述比例确定所述站点的重试下载次数。
本实施例提供的装置的具体原理和实现方式均与图2-3所示的实施例类似,此处不再赘述。
本实施例还提供一种网络爬虫调度设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上所述的任一种方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。