网页爬虫抓取规则替换方法、调度端和抓取端的制作方法

文档序号:6515057阅读:158来源:国知局
网页爬虫抓取规则替换方法、调度端和抓取端的制作方法
【专利摘要】本发明公开一种网页爬虫抓取规则替换方法、调度端和抓取端。其中,网页爬虫抓取规则替换方法包括:向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号;向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。本发明在抓取端将抓取规则采用了规则文件独立保存,替换时只需要替换规则文件而无需整个抓取端进行重启。同时,采用了调度端对所有的规则文件进行统一管理保存,因此,无需对每个抓取端单独上传规则文件,避免管理混乱。
【专利说明】网页爬虫抓取规则替换方法、调度端和抓取端
【技术领域】
[0001]本发明涉及网页爬虫相关【技术领域】,特别是网页爬虫抓取规则替换方法、调度端和抓取端。
【背景技术】
[0002]网页爬虫是获取网站信息的基础,为了获取网站的信息,需要针对不同的网站配置相应的规则,然而网站的页面样式规则并不是一成不变的,一旦页面样式规则改变,原有的抓取规则必然失效。
[0003]现有的做法是针对改版后的页面重新配置规则,然后需要重新启动抓取节点应对页面改版。这种方式对于单个网站的抓取,且网站的改版不频繁的情况下是可行的,然而对于大型的爬虫系统,在现有的方式下,即使单个网站的改版不频繁,但当要抓取的网站数量众多时,也会导致频繁重启抓取节点,其缺点非常明显:
[0004](I)对于一个大型的爬虫系统来说,抓取节点分布非常广阔,且抓取节点的数目众多,频繁重启抓取节点必然会影响抓取的结果。
[0005](2)抓取节点的重启动必然会带来人力的开销,特别是对于一个大型的爬虫系统来说,频繁重启抓取节点其带来的人力开销是极为巨大的。
[0006](3)由于抓取节点众多,因此对每个抓取节点单独修改抓取规则,容易导致混乱,
管理困难。

【发明内容】

[0007]基于此,有必要针对现有技术对大型的爬虫系统,对于抓取规则的替换方法容易造成抓取节点的频繁重启,且对抓取节点修改抓取规则的管理容易导致混乱的技术问题,提供网页爬虫抓取规则替换方法、调度端和抓取端。
[0008]一种网页爬虫抓取规则替换方法,包括:
[0009]向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号;
[0010]接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,则向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件为保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件;
[0011]所述抓取任务用于所述抓取端获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;[0012]所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。
[0013]一种网页爬虫抓取规则替换调度端,包括:
[0014]抓取任务发送模块,用于向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号;
[0015]获取新规则文件请求接收模块,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,则向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件为保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件;
[0016]所述抓取任务用于所述抓取端获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0017]所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。
[0018]一种网页爬虫抓取规则替换方法,包括:
[0019]接收到调度网络信息的调度端所发送的包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号的抓取任务;
[0020]获取与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并向所述调度端发送包括所述待切换规则网站以及所述待切换规则版本号的获取新规则文件请求,否则不向所述调度端发送所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0021]接收到所述调度端响应所述获取新规则文件请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,对所述待抓取网站采用所述待切换规则文件抓取网络信息;
[0022]所述待切换规则文件为保存在所述调度端的规则文件库且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件。
[0023]一种网页爬虫抓取规则替换抓取端,包括:
[0024]抓取任务接收模块,用于接收到调度网络信息的调度端所发送的包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号的抓取任务;
[0025]版本比较模块,用于获取与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并向所述调度端发送包括所述待切换规则网站以及所述待切换规则版本号的获取新规则文件请求,否则不向所述调度端发送所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0026]规则切换模块,用于接收到所述调度端响应所述获取新规则文件请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,对所述待抓取网站采用所述待切换规则文件抓取网络信息;
[0027]所述待切换规则文件为保存在所述调度端的规则文件库且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件。
[0028]本发明增加了调度端专门负责保存管理规则文件,并在向抓取网络信息的抓取端发送抓取任务时,同时提供了待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号。抓取端通过比较调度端版本号和抓取端版本号,确定是否需要进行替换,当需要替换时,抓取端直接替换抓取端抓取规则文件。由于在抓取端将抓取规则采用了规则文件独立保存,因此,替换时只需要替换规则文件而无需整个抓取端进行重启。同时,采用了调度端对所有的规则文件进行统一管理保存,因此,无需对每个抓取端单独上传规则文件,避免管理混乱。
【专利附图】

【附图说明】
[0029]图1为本发明一种网页爬虫抓取规则替换方法的工作流程图;
[0030]图2为本发明的系统结构示意图;
[0031]图3为本发明一种网页爬虫抓取规则替换调度端的结构模块图;
[0032]图4为本发明一种网页爬虫抓取规则替换方法的工作流程图;
[0033]图5为本发明一种网页爬虫抓取规则替换抓取端的结构模块图;
[0034]图6为本发明一个例子调度端的工作流程图;
[0035]图7为本发明一个例子抓取端的工作流程图。
【具体实施方式】
[0036]下面结合附图和具体实施例对本发明做进一步详细的说明。
[0037]如图1所示为本发明一种网页爬虫抓取规则替换方法的工作流程图,包括:
[0038]步骤S101,向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号;
[0039]步骤S102,接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,则向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件为保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件;
[0040]所述抓取任务用于所述抓取端获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0041]所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。
[0042]如图2所示为本发明的系统结构示意图,包括一个调度端21以及多个抓取端22。其中,抓取端也可称为抓取节点。本实施例的一种网页爬虫抓取规则替换方法由调度端实施。
[0043]其中,在步骤S101,调度端向每个抓取端分别发送抓取任务,抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号。抓取端在接收到抓取任务后,首先获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息。
[0044]在步骤S102,当调度端接收到获取新规则文件请求,则表示抓取端判断需要更换抓取端抓取规则文件,因此,从规则文件库中获取相应的调度端抓取规则文件返回给抓取端进行替换。其中规则文件库可以保存在调度端的服务器,也可以通过一个独立的数据库进行保存。
[0045]其中,调度端抓取规则文件为保存在调度端的包括抓取规则的规则文件,抓取端抓取规则文件为保存在抓取端的包括抓取规则的规则文件,对于同一个网站来说,可以有多个调度端抓取规则文件保存在调度端,可以通过不同的版本号加以区分。
[0046]抓取端对规则文件的替换可能成功也可能失败,针对不同的情况,调度端采用不同的应对措施。
[0047]在其中一个实施例中,还包括:
[0048]接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换失败请求,则向所述抓取端发送所述待切换规则版本号对应的所述待切换规则文件和所述待切换规则网站,所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件;
[0049]所述规则热替换失败请求为所述抓取端在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则发送所述规则热替换失败请求;
[0050]接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,则将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库;
[0051]所述规则热替换成功请求为所述抓取端在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则发送所述规则热替换成功请求。
[0052]其中,当接收到规则热替换失败请求,这种问题可能是由调度端往抓取端发送规则文件失败导致,因此重新发送调度端抓取规则文件。
[0053]其中,当接收到规则热替换成功请求,则相应的调度端抓取规则文件无需再保存在规则文件库中,将其转移到历史规则库中保存,以保证在规则文件库中的调度端抓取规则文件一直都是最新的。
[0054]新的规则文件其对网站抓取的准确率未必会比原来的规则文件要高,当发生新的规则文件的准确率低于原来的规则文件时,需要重新更换为原料的规则文件。
[0055]在其中一个实施例中,还包括:
[0056]接收到所述抓取端发送的包括历史规则网站以及历史规则版本号的历史规则切换请求,从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件作为调度端历史规则文件,将调度端历史规则文件从所述历史规则库中移至所述规则文件库,向所述抓取端发送调度端历史规则文件和所述历史规则网站;
[0057]所述历史规则切换请求为所述抓取端在接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则发送所述历史规则切换请求;
[0058]所述调度端历史规则文件用于所述抓取端将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件。
[0059]规则文件在调度端统一上传,从而减少对规则文件管理上的混乱,避免对多个抓取端的人工操作。
[0060]在其中一个实施例中,还包括:
[0061]接收到包括待更新网站以及对应的待更新规则文件的上传规则请求,则将所述待更新规则文件与所述待更新网站关联后作为调度端抓取规则文件保存在规则文件库,并为所述调度端抓取规则文件分配对应的调度端版本号。
[0062]如图2所示为本发明的一个例子的系统结构示意图,包括调度端21和多个抓取端22。
[0063]调度端21的工作流程如图6所示,包括:
[0064]步骤S610,接收到包括待更新网站以及对应的待更新规则文件的上传规则请求,则将所述待更新规则文件与所述待更新网站关联后作为调度端抓取规则文件保存在规则文件库,并为所述调度端抓取规则文件分配对应的调度端版本号。
[0065]步骤S620,向抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号。
[0066]步骤S630,启动请求监听器不断监听抓取端的规则请求。
[0067]步骤S640:对接收到的规则请求,进行相应的处理,分以下几种情形:
[0068]如果接收到包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,执行步骤S641 ;
[0069]如果接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,执行步骤S642 ;
[0070]如果接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换失败请求,执行步骤S643 ;
[0071]如果接收到所述抓取端发送的包括历史规则网站以及历史规则版本号的历史规则切换请求,执行步骤S643。[0072]步骤S641,保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件,向所述抓取端发送待切换规则文件和所述待切换规则网站。
[0073]步骤S642,将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库。
[0074]步骤S643,向所述抓取端发送所述待切换规则版本号对应的所述待切换规则文件和所述待切换规则网站。
[0075]步骤S644,从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件作为调度端历史规则文件,将调度端历史规则文件从所述历史规则库中移至所述规则文件库,向所述抓取端发送调度端历史规则文件和所述历史规则网站。
[0076]如图3所示为本发明一种网页爬虫抓取规则替换调度端的结构模块图,包括:
[0077]抓取任务发送模块301,用于向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号;
[0078]获取新规则文件请求接收模块302,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,则向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件为保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件;
[0079]所述抓取任务用于所述抓取端获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0080]所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。
[0081]在其中一个实施例中,还包括:
[0082]规则热替换失败请求接收模块303,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换失败请求,则向所述抓取端发送所述待切换规则版本号对应的所述待切换规则文件和所述待切换规则网站,所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件;
[0083]所述规则热替换失败请求为所述抓取端在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则发送所述规则热替换失败请求;
[0084]规则热替换成功请求接收模块304,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,则将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库;
[0085]所述规则热替换成功请求为所述抓取端在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则发送所述规则热替换成功请求。
[0086]在其中一个实施例中,还包括:
[0087]历史规则切换请求接收模块305用于接收到所述抓取端发送的包括历史规则网站以及历史规则版本号的历史规则切换请求,从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件作为调度端历史规则文件,将调度端历史规则文件从所述历史规则库中移至所述规则文件库,向所述抓取端发送调度端历史规则文件和所述历史规则网站;
[0088]所述历史规则切换请求为所述抓取端在接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则发送所述历史规则切换请求;
[0089]所述调度端历史规则文件用于所述抓取端将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件。
[0090]在其中一个实施例中,还包括:
[0091]上传规则请求接收模块306,用于接收到包括待更新网站以及对应的待更新规则文件的上传规则请求,则将所述待更新规则文件与所述待更新网站关联后作为调度端抓取规则文件保存在规则文件库,并为所述调度端抓取规则文件分配对应的调度端版本号。
[0092]如图4所述为本发明一种网页爬虫抓取规则替换方法的工作流程图,包括:
[0093]步骤S401,接收到调度网络信息的调度端所发送的包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号的抓取任务;
[0094]步骤S402,获取与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并向所述调度端发送包括所述待切换规则网站以及所述待切换规则版本号的获取新规则文件请求,否则不向所述调度端发送所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0095]步骤S403,接收到所述调度端响应所述获取新规则文件请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,对所述待抓取网站采用所述待切换规则文件抓取网络信息;
[0096]所述待切换规则文件为保存在所述调度端的规则文件库且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件。
[0097]本实施例在抓取端上实现抓取规则替换方法,由于在抓取端上的操作与在调度端上的操作是对应的,在此不予赘述。
[0098]在其中一个实施例中,还包括:
[0099]在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换失败请求;
[0100]接收到所述调度端响应所述规则热替换失败请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件;
[0101]在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,所述热替换成功请求用于所述调度端将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库。
[0102]在其中一个实施例中,还包括:
[0103]接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则向所述调度端发送包括历史规则网站以及历史规则版本号的历史规则切换请求;
[0104]接收到调度端发送的调度端历史规则文件和所述历史规则网站,将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件;
[0105]所述调度端历史规则文件为所述调度端响应历史规则切换请求从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件。
[0106]当新的规则文件的准确率低于原有的规则文件时,即可以通过从调度端获取调度端历史规则文件进行重新替换,也可以在抓取端本地进行。
[0107]在其中一个实施例中,还包括:
[0108]接收到所述待切换规则文件,将所述待切换规则网站对应的抓取端抓取规则文件在所述抓取端备份为抓取端历史规则文件,将所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则将所述待切换规则网站对应的抓取端抓取规则文件,重新替换为所述抓取端历史规则文件。
[0109]本实施例在抓取端本地备份了抓取端历史规则文件,从而无需从调度端下载原有的规则文件,减少了网络数据的传输。
[0110]如图2所示为本发明的一个例子的系统结构示意图,包括调度端21和多个抓取端22。
[0111]如图7所示为抓取端22的工作流程图,包括:
[0112]步骤S701,请求线程获取调度端发送的抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号。比较待抓取网站对应的调度端版本号与抓取端版本号,如果所述抓取端版本号与所述调度端版本号不一致,即待抓取网站对应的调度端抓取规则文件有更新,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求。如网站a的版本号不一致,而网站b —致,则向调度端发送获取网站a的规则文件的请求。
[0113]步骤S702,如果请求线程接收到调度端发送的待切换规则文件和所述待切换规则网站,则执行步骤S703,否则,如果请求线程在一定时间段内没有获取调度端发送的待切换规则文件和所述待切换规则网站,则说明待切换规则文件在这段时间内没有传送过来,也有可能是丢失了,定义如下的表达式:CurrentTime - RequestTime>Threshold,如果当前时间(CurrentTime)减去请求发生的时间(RequestTime)大于某个阈值(Threshold),则执行步骤S706 ;
[0114]步骤S703,请求线程获取调度端发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,重新构建TaskExecutor任务执行类对象,采用文档解析监听器用来检测抓取到的网络信息的文档解析的准确率。构建的过程如下:抓取端抓取规则文件采用Spring文件,以网络流的形式替换抓取端抓取规则文件。替换成功后,启动Spring的Bean工厂重新加载待切换规则网站的抓取端抓取规则文件,生成新的Rule规则类对象,同时把Rule规则类对象注入TaskExecutor,构建新的TaskExecutor任务执行类对象,完成规则的热替换。整个过程在不需要重新启动抓取节点的情况下,完成抓取端的升级,执行步骤S704;
[0115]步骤S704,调用报告线程向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换成功请求;
[0116]步骤S705,采用文档解析监听器用来检测抓取到的网络信息的文档解析的准确率,与前一版本的准确率进行比较,检测的标准是核心字段(这个字段可以由用户配置)的值有没有抽取出来,如果新版本的准确率低于之前版本的准确率,则调用报告线程向所述调度端发送包括历史规则网站以及历史规则版本号的历史规则切换请求,否则使用新版本的抓取端抓取规则文件;
[0117]步骤S706,调用报告线程向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换失败请求。
[0118]如图5所示为本发明一种网页爬虫抓取规则替换抓取端的结构模块图,包括:
[0119]抓取任务接收模块501,用于接收到调度网络信息的调度端所发送的包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号的抓取任务;
[0120]版本比较模块502,用于获取与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并向所述调度端发送包括所述待切换规则网站以及所述待切换规则版本号的获取新规则文件请求,否则不向所述调度端发送所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息;
[0121]规则切换模块503,用于接收到所述调度端响应所述获取新规则文件请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,对所述待抓取网站采用所述待切换规则文件抓取网络信息;
[0122]所述待切换规则文件为保存在所述调度端的规则文件库且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件。
[0123]在其中一个实施例中,还包括:
[0124]规则热替换失败请求发送模块504,用于在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换失败请求;
[0125]重切换模块505,用于接收到所述调度端响应所述规则热替换失败请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件;
[0126]规则热替换成功请求发送模块506,用于在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,所述热替换成功请求用于所述调度端将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库。
[0127]在其中一个实施例中,还包括:
[0128]准确率比较模块507,用于接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则向所述调度端发送包括历史规则网站以及历史规则版本号的历史规则切换请求;
[0129]调度端历史规则文件切换模块508,用于接收到调度端发送的调度端历史规则文件和所述历史规则网站,将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件;
[0130]所述调度端历史规则文件为所述调度端响应历史规则切换请求从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件。
[0131]在其中一个实施例中,还包括:
[0132]抓取端历史规则文件切换模块,用于接收到所述待切换规则文件,将所述待切换规则网站对应的抓取端抓取规则文件在所述抓取端备份为抓取端历史规则文件,将所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则将所述待切换规则网站对应的抓取端抓取规则文件,重新替换为所述抓取端历史规则文件。
[0133]其中,准确率比较模块507、调度端历史规则文件切换模块508与抓取端历史规则文件切换模块是可选的,即可以仅包括准确率比较模块507、调度端历史规则文件切换模块508,也可以仅包括抓取端历史规则文件切换模块。
[0134]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种网页爬虫抓取规则替换方法,其特征在于,包括: 向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号; 接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,则向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件为保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件; 所述抓取任务用于所述抓取端获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息; 所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。
2.根据权利要求1所述的网页爬虫抓取规则替换方法,其特征在于,还包括: 接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换失败请求,则向所述抓取端发送所述待切换规则版本号对应的所述待切换规则文件和所述待切换规则网站,所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取 规则文件,替换为所述待切换规则文件; 所述规则热替换失败请求为所述抓取端在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件所发送的请求; 接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,则将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库; 所述规则热替换成功请求为所述抓取端在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则发送所述规则热替换成功请求。
3.根据权利要求2所述的网页爬虫抓取规则替换方法,其特征在于,还包括: 接收到所述抓取端发送的包括历史规则网站以及历史规则版本号的历史规则切换请求,从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件作为调度端历史规则文件,将调度端历史规则文件从所述历史规则库中移至所述规则文件库,向所述抓取端发送调度端历史规则文件和所述历史规则网站; 所述历史规则切换请求为所述抓取端在接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则发送所述历史规则切换请求; 所述调度端历史规则文件用于所述抓取端将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件。
4.根据权利要求1所述的网页爬虫抓取规则替换方法,其特征在于,还包括: 接收到包括待更新网站以及对应的待更新规则文件的上传规则请求,则将所述待更新规则文件与所述待更新网站关联后作为调度端抓取规则文件保存在规则文件库,并为所述调度端抓取规则文件分配对应的调度端版本号。
5.一种网页爬虫抓取规则替换调度端,其特征在于,包括: 抓取任务发送模块,用于向抓取网络信息的抓取端发送抓取任务,所述抓取任务包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号; 获取新规则文件请求接收模块,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的获取新规则文件请求,则向所述抓取端发送待切换规则文件和所述待切换规则网站,所述待切换规则文件为保存在规则文件库中且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件; 所述抓取任务用于所述抓取端获取保存在所述抓取端与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并返回所述获取新规则文件请求,否则不返回所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息; 所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件。
6.根据权利要求5所述的网页爬虫抓取规则替换调度端,其特征在于,还包括:` 规则热替换失败请求接收模块,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换失败请求,则向所述抓取端发送所述待切换规则版本号对应的所述待切换规则文件和所述待切换规则网站,所述待切换规则文件用于所述抓取端将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件; 所述规则热替换失败请求为所述抓取端在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则发送所述规则热替换失败请求; 规则热替换成功请求接收模块,用于接收到所述抓取端发送的包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,则将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库; 所述规则热替换成功请求为所述抓取端在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则发送所述规则热替换成功请求。
7.根据权利要求6所述的网页爬虫抓取规则替换调度端,其特征在于,还包括: 历史规则切换请求接收模块,用于接收到所述抓取端发送的包括历史规则网站以及历史规则版本号的历史规则切换请求,从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件作为调度端历史规则文件,将调度端历史规则文件从所述历史规则库中移至所述规则文件库,向所述抓取端发送调度端历史规则文件和所述历史规则网站; 所述历史规则切换请求为所述抓取端在接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则发送所述历史规则切换请求; 所述调度端历史规则文件用于所述抓取端将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件。
8.根据权利要求5所述的网页爬虫抓取规则替换调度端,其特征在于,还包括: 上传规则请求接收模块,用于接收到包括待更新网站以及对应的待更新规则文件的上传规则请求,则将所述待更新规则文件与所述待更新网站关联后作为调度端抓取规则文件保存在规则文件库,并为所述调度端抓取规则文件分配对应的调度端版本号。
9.一种网页爬虫抓取 规则替换方法,其特征在于,包括: 接收到调度网络信息的调度端所发送的包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号的抓取任务; 获取与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并向所述调度端发送包括所述待切换规则网站以及所述待切换规则版本号的获取新规则文件请求,否则不向所述调度端发送所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息; 接收到所述调度端响应所述获取新规则文件请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,对所述待抓取网站采用所述待切换规则文件抓取网络信息;所述待切换规则文件为保存在所述调度端的规则文件库且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件。
10.根据权利要求9所述的网页爬虫抓取规则替换方法,其特征在于,还包括: 在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换失败请求; 接收到所述调度端响应所述规则热替换失败请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件; 在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,所述热替换成功请求用于所述调度端将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库。
11.根据权利要求10所述的网页爬虫抓取规则替换方法,其特征在于,还包括: 接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则向所述调度端发送包括历史规则网站以及历史规则版本号的历史规则切换请求; 接收到调度端发送的调度端历史规则文件和所述历史规则网站,将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件; 所述调度端历史规则文件为所述调度端响应历史规则切换请求从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件。
12.根据权利要求9所述的网页爬虫抓取规则替换方法,其特征在于,还包括: 接收到所述待切换规则文件,将所述待切换规则网站对应的抓取端抓取规则文件在所述抓取端备份为抓取端历史规则文件,将所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则将所述待切换规则网站对应的抓取端抓取规则文件,重新替换为所述抓取端历史规则文件。
13.—种网页爬虫抓取规则替换抓取端,其特征在于,包括: 抓取任务接收模块,用于接收到调度网络信息的调度端所发送的包括待抓取网站,以及与所述待抓取网站对应的调度端抓取规则文件的调度端版本号的抓取任务; 版本比较模块,用于获取 与所述待抓取网站对应的抓取端抓取规则文件的抓取端版本号,比较所述抓取端版本号与所述调度端版本号,如果所述抓取端版本号与所述调度端版本号不一致,则将所述待抓取网站作为待切换规则网站,将所述调度端版本号作为待切换规则版本号,并向所述调度端发送包括所述待切换规则网站以及所述待切换规则版本号的获取新规则文件请求,否则不向所述调度端发送所述获取新规则文件请求,对所述待抓取网站采用所述抓取端抓取规则文件抓取网络信息; 规则切换模块,用于接收到所述调度端响应所述获取新规则文件请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,对所述待抓取网站采用所述待切换规则文件抓取网络信息; 所述待切换规则文件为保存在所述调度端的规则文件库且由所述待切换规则网站以及所述待切换规则版本号共同标识的调度端抓取规则文件。
14.根据权利要求13所述的网页爬虫抓取规则替换抓取端,其特征在于,还包括: 规则热替换失败请求发送模块,用于在发送所述获取新规则文件请求后预设时间内未收到所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换失败请求; 重切换模块,用于接收到所述调度端响应所述规则热替换失败请求发送的待切换规则文件和所述待切换规则网站,将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件; 规则热替换成功请求发送模块,用于在接收到所述待切换规则文件,并成功将保存在所述抓取端与所述待切换规则网站对应的抓取端抓取规则文件,替换为所述待切换规则文件,则向所述调度端发送包括待切换规则网站以及待切换规则版本号的规则热替换成功请求,所述热替换成功请求用于所述调度端将所述待切换规则网站以及待切换规则版本号共同标识的调度端抓取规则文件从所述规则文件库移至历史规则库。
15.根据权利要求14所述的网页爬虫抓取规则替换抓取端,其特征在于,还包括: 准确率比较模块,用于接收到所述待切换规则文件,将与所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则向所述调度端发送包括历史规则网站以及历史规则版本号的历史规则切换请求; 调度端历史规则文件切换模块,用于接收到调度端发送的调度端历史规则文件和所述历史规则网站,将保存在所述抓取端与所述历史规则网站对应的抓取端抓取规则文件,替换为所述历史规则文件; 所述调度端历史规则文件为所述调度端响应历史规则切换请求从所述历史规则库中获取由所述历史规则网站以及所述历史规则版本号共同标识的调度端抓取规则文件。
16.根据权利要求13所述的网页爬虫抓取规则替换抓取端,其特征在于,还包括: 抓取端历史规则文件切换模块,用于接收到所述待切换规则文件,将所述待切换规则网站对应的抓取端抓取规则文件在所述抓取端备份为抓取端历史规则文件,将所述待切换规则网站对应的抓取端抓取规则文件的抓取端版本号作为历史规则版本号,将所述待切换规则网站作为历史规则网 站,在将所述待切换规则网站对应的抓取端抓取规则文件替换为所述待切换规则文件后,如果抓取网络信息的准确率降低,则将所述待切换规则网站对应的抓取端抓取规则文件,重新替换为所述抓取端历史规则文件。
【文档编号】G06F17/30GK103488795SQ201310471399
【公开日】2014年1月1日 申请日期:2013年10月10日 优先权日:2013年10月10日
【发明者】廖耀华, 黎小为 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1