【技术实现步骤摘要】
一种docker分布式网页爬虫方法及系统
[0001]本专利技术涉及计算机网络
,尤其涉及一种docker分布式网页爬虫方法及系统。
技术介绍
[0002]分布式网页爬虫系统由多台机器节点组成,其中一个节点是主节点,负责整个系统的调度和任务分配,其他每个节点都可以看成是一个集中式爬虫负责爬行网页,并将下载的网页存放在本地磁盘上,每个节点都和主节点保持通信。目前著名的搜索引擎例如Google都采用分布式爬虫,分布式网页爬虫系统目前存在如下问题:由于现有的网页爬虫多采用单机或多机分个部署的方式,导致网页采集效率低,部署麻烦,查错和改动代价高。
技术实现思路
[0003]本专利技术的目的在于提供一种docker分布式网页爬虫方法及系统,从而解决现有技术中存在的前述问题。
[0004]为了实现上述目的,本专利技术采用的技术方案如下:
[0005]一种docker分布式网页爬虫方法,其特征在于:所述方法包括如下步骤,
[0006]S1、接收目标URL的爬取需求,根据爬取需求指明爬取内容和起始URL;
[0007]S2、按照预设爬虫规则编写数据采集指令;
[0008]S3、根据所述数据采集指令调用相应的采集程序,采集指定的数据资源;
[0009]S4、解析采集到的指定的数据资源,获取并存储符合设定爬虫规则的URL;
[0010]S5、重复步骤S2-S4,直到目标URL采集完毕,或者是,采集的符合设定爬虫规则的URL达到预设最大采集数量,停止采集。 />[0011]本专利技术的目的还在于提供一种docker分布式网页爬虫系统,所述系统用于实现上述所述的方法;所述系统包括,
[0012]docker部署模块;所述docker部署模块采用自定义的Dockerfile并结合云端镜像服务,自动推送修改到系统的各节点,并通过shell脚本令所述系统执行所述方法;
[0013]URL处理模块;所述URL处理模块用于对目标URL进行分布式爬取,并在对采集到的指定的数据资源处理后,采用集中式的数据存储模块对其进行存储和分发;
[0014]爬虫控制模块;所述爬虫控制模块用于指定和编辑预设爬虫规则,并用于控制采集程序的定时启停和人工启停;
[0015]数据采集模块;所述数据采集模块用于根据所述数据采集指令调用相应的采集程序,采集指定的数据资源,并处理数据采集的响应过程;
[0016]数据清洗模块;所述数据清洗模块用于解析采集到的指定的数据资源,获取符合设定爬虫规则的URL,并将其传输给数据存储模块;
[0017]数据存储模块;所述数据存储模块用于对符合设定爬虫规则的URL进行数据处理,并将其暂存;当停止URL采集后,所述数据存储模块将所有的进行数据处理后的符合设定爬
虫规则的URL传输给持久化数据库;
[0018]持久化数据库;所述持久化数据库用于存储数据处理后的符合设定爬虫规则的URL。
[0019]优选的,所述URL处理模块对采集到的指定的数据资源处理具体包括对指定的数据资源进行去重。
[0020]优选的,所述爬虫控制模块使用REGEX和/或XPATH和/或CSS Selector指定和编辑预设爬虫规则。
[0021]优选的,所述数据清洗模块包括,
[0022]第一数据校验单元;所述第一数据校验单元用于校验采集到的指定的数据资源,获取校验通过的第一数据;
[0023]第一数据转换单元;所述第一数据转换单元用于对第一数据进行转换以获取第二数据;
[0024]第一数据解码单元;所述第一数据解码单元用于第二数据进行解码以获取符合设定爬虫规则的URL;
[0025]优选的,所述数据处理包括数据校验、数据加密、数据转换、数据去重和数据存储;所述数据存储模块包括,
[0026]第二数据校验单元;所述第二数据校验单元用于对符合设定爬虫规则的URL进行数据校验,获取校验通过的第三数据;
[0027]第二数据加密单元,所述第二数据加密单元用于对所述第三数据进行加密,以获取第四数据;
[0028]第二数据转换单元,所述第二数据转换单元用于对所述第四数据进行转换,以获取第五数据;
[0029]数据去重单元;所述数据去重单元用于对所述第五数据进行去重,以获取第六数据;
[0030]数据存储单元;所述数据存储单元用于暂存所述第六数据。
[0031]本专利技术的有益效果是:提高了网页爬虫程序采集和部署速度,并且提高了扩展性。
附图说明
[0032]图1是本专利技术实施例中所述分布式爬虫方法的流程示意图;
[0033]图2是本专利技术实施例中所述分布式爬虫系统的原理结构图。
具体实施方式
[0034]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。
[0035]实施例一
[0036]如图1所示,本实施例中提供了一种docker分布式网页爬虫方法,所述方法包括如下步骤,
[0037]S1、接收目标URL的爬取需求,根据爬取需求指明爬取内容和起始URL;
[0038]S2、按照预设爬虫规则编写数据采集指令;
[0039]S3、根据所述数据采集指令调用相应的采集程序,采集指定的数据资源;
[0040]S4、解析采集到的指定的数据资源,获取并存储符合设定爬虫规则的URL;
[0041]S5、重复步骤S2-S4,直到目标URL采集完毕,或者是,采集的符合设定爬虫规则的URL达到预设最大采集数量,停止采集。
[0042]实施例二
[0043]如图2所示,本实施例中提供一种docker分布式网页爬虫系统,所述系统用于实现上述所述的方法;所述系统包括,
[0044]docker部署模块;所述docker部署模块采用自定义的Dockerfile并结合云端镜像服务,自动推送修改到系统的各节点,并通过shell脚本令所述系统执行所述方法;
[0045]URL处理模块;所述URL处理模块用于对目标URL进行分布式爬取,并在对采集到的指定的数据资源处理后,采用集中式的数据存储模块对其进行存储和分发;
[0046]爬虫控制模块;所述爬虫控制模块用于指定和编辑预设爬虫规则,并用于控制采集程序的定时启停和人工启停;
[0047]数据采集模块;所述数据采集模块用于根据所述数据采集指令调用相应的采集程序,采集指定的数据资源,并处理数据采集的响应过程;
[0048]数据清洗模块;所述数据清洗模块用于解析采集到的指定的数据资源,获取符合设定爬虫规则的URL,并将其传输给数据存储模块;
[0049]数据存储模块;所述数据存储模块用于对符合设定爬虫规则的URL进行数据处理,并将其暂存;当停止URL采集后,所述数据存储模块将所有的进行数据处理后的符合设定爬虫规则的本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种docker分布式网页爬虫方法,其特征在于:所述方法包括如下步骤,S1、接收目标URL的爬取需求,根据爬取需求指明爬取内容和起始URL;S2、按照预设爬虫规则编写数据采集指令;S3、根据所述数据采集指令调用相应的采集程序,采集指定的数据资源;S4、解析采集到的指定的数据资源,获取并存储符合设定爬虫规则的URL;S5、重复步骤S2-S4,直到目标URL采集完毕,或者是,采集的符合设定爬虫规则的URL达到预设最大采集数量,停止采集。2.一种docker分布式网页爬虫系统,其特征在于:所述系统用于实现上述权利要求1所述的方法;所述系统包括,docker部署模块;所述docker部署模块采用自定义的Dockerfile并结合云端镜像服务,自动推送修改到系统的各节点,并通过shell脚本令所述系统执行所述方法;URL处理模块;所述URL处理模块用于对目标URL进行分布式爬取,并在对采集到的指定的数据资源处理后,采用集中式的数据存储模块对其进行存储和分发;爬虫控制模块;所述爬虫控制模块用于指定和编辑预设爬虫规则,并用于控制采集程序的定时启停和人工启停;数据采集模块;所述数据采集模块用于根据所述数据采集指令调用相应的采集程序,采集指定的数据资源,并处理数据采集的响应过程;数据清洗模块;所述数据清洗模块用于解析采集到的指定的数据资源,获取符合设定爬虫规则的URL,并将其传输给数据存储模块;数据存储模块;所述数据存储模块用于对符合设定爬虫规则的URL进行数据处理,并将其暂存;当停止URL采集后,所述数据存储模块将所有的进行数据处理后的符合设定爬...
【专利技术属性】
技术研发人员:孙香娟,姜波,周彦其,李鑫,
申请(专利权)人:中文在线数字出版集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。