一种基于分发器和配置表组合的泛型爬虫系统技术方案

技术编号:24574928 阅读:99 留言:0更新日期:2020-06-21 00:14
本发明专利技术公开了一种基于分发器和配置表组合的泛型爬虫系统,包括爬虫引擎、URL管理器、网页下载器、内容解析器、数据存储器和线程控制器,爬虫引擎包括配置表填写模块、分发器组合模块;网页下载器包括泛型接口分发器、安全绕过管理器和下载器;内容解析器包括泛型接口分发器、定位器和内容解析器;数据存储器包括数据收集器、泛型接口分发器、数据类型接口生成器;本发明专利技术通过在爬虫引擎中填写配置表,组合分发器,然后由分发器驱动爬虫引擎执行的方式,实现对不同数据类型、不同安全机制、不同性能的不同网站的数据资源的爬取,使用户不需要编写代码,就构造出符合自己数据爬取需求的爬虫程序,使用户专注于数据的分析,节约数据采集的难度和成本。

A generic crawler system based on the combination of distributor and configuration table

【技术实现步骤摘要】
一种基于分发器和配置表组合的泛型爬虫系统
本专利技术属于计算机领域,涉及爬虫系统,特别涉及一种基于分发器和配置表组合的泛型爬虫系统。
技术介绍
随着大数据技术的发展,数据的价值越来越重要,使用爬虫技术高效地获取、分析数据、发现数据的价值成为了一种趋势。一个良好的爬虫框架为用户使用这种技术提供了便利。但是,当前主流的爬虫框架为使用者提供的是一类可复用的相互协作的类、模块或接口,需要使用者熟悉每个类、模块和接口的使用方法,自行编写爬虫获取数据各个环节的代码,因此,要求使用者具备一定的代码开发知识,限制了爬虫技术的用户群体,不利于数据价值的发现和利用。因此,专利技术一种基于分发器和配置表组合的泛型爬虫系统框架,能够像编写电影剧本一样,通过填写配置表,组合分发器,就能实现一个爬虫程序,完成数据爬取任务,解决上述问题就显得很有必要。
技术实现思路
本专利技术的目的在于提供一种基于分发器和配置表组合的泛型爬虫系统,本专利技术通过在爬虫引擎中填写配置表,组合分发器,然后由分发器驱动爬虫引擎执行的方式,实现对不同数据类型、不同安全机制、不同性能的不同网站的数据资源的爬取,使用户不需要编写代码,就构造出符合自己数据爬取需求的爬虫程序,使用户专注于数据的分析,节约数据采集的难度和成本。为实现上述目的,本专利技术提供如下技术方案:一种基于分发器和配置表组合的泛型爬虫系统,包括爬虫引擎1、URL管理器4、网页下载器7、内容解析器11、数据存储器15和线程控制器21;所述爬虫引擎1包括配置表填写模块2和分发器组合模块3;所述配置表填写模块2从用户获取输入信息,生成配置表数据,所述分发器组合模块3定义URL管理器4、网页下载器7、内容解析器11、数据存储器15、线程控制器21的组合顺序,按照从配置表填写模块2获取的配置表数据驱动爬虫引擎1执行;所述URL管理器4包括协议识别器5和URL管理队列6,所述协议识别器5接收爬虫引擎1的配置表信息,根据配置表信息爬取网页中符合规定的URL地址数据后,生成存储不同数据的URL管理队列6;所述网页下载器7包括网页下载器的泛型接口分发器8、下载器9和安全绕过管理器10,所述网页下载器的泛型接口分发器8接收爬虫引擎1的配置表信息和URL管理队列6中的数据,动态生成不同类型的下载器9,所述下载器9接收网页下载器的泛型接口分发器8的配置表和数据后,根据配置表中安全要求,决定是否生成安全绕过管理器10,如果确定生成,则下载器9生成安全绕过管理器10,安全绕过管理器10生成安全配置包,下载器9接收安全配置包,然后用安全的方式下载并生成各类数据资源;如果确定不生成,则下载器9用非安全方式下载并生成各类数据资源;所述内容解析器11包括内容解析器的泛型接口分发器12、定位器13和数据解析器14,所述内容解析器的泛型接口分发器12接收爬虫引擎1的配置表信息和网页下载器7生成的各类数据资源,动态生成定位器13和数据解析器14,定位器13接收内容解析器的泛型接口分发器12的配置表信息,生成定位对象数据,数据解析器14接收网页下载器7生成的各类数据资源和定位器13生成的定位对象数据后,对数据资源中的表格、图片、视频、音频、文本数据进行解析,生成解析数据;所述数据存储器15包括数据存储器的泛型接口分发器16、数据收集器17、数据输出分发器18、普通数据类型接口生成器19和数据库接口生成器20,所述数据存储器的泛型接口分发器16接收爬虫引擎1的配置表数据和内容解析器11的解析数据,生成数据收集器17和数据输出分发器18,数据收集器17对数据进行清洗、转码操作,生成清洗后的数据,所述数据输出分发器18接收数据存储器的泛型接口分发器16的配置表数据和数据收集器17的清洗后的数据,动态生成普通数据类型接口生成器19和数据库接口生成器20,然后普通数据类型接口生成器19将数据输出到HTML、CSV、TXT、EXCEL文件中,数据库接口生成器20将数据输出到SQLServer、MySQL、Oracle数据库中或送往第三方WebService接口;所述线程控制器21负责对爬取过程的线程数量、并发方式进行管理,分别接收URL管理器4、网页下载器7、内容解析器11和数据存储器15传递的配置表信息,确定是否启用线程,如启用,则生成异步线程池22或同步线程池23,然后将过程资源放入线程池中,形成线程资源24,实现爬取性能的提升。本专利技术的技术效果和优点:1、本专利技术通过用户编制配置表,组合分发器,然后通过分发器驱动爬虫引擎工作的方式,定义了一种新型的爬虫使用技术,取代了当前主流爬虫系统仅提供类、接口和代码模块,需要用户自行编写爬虫各个环节的代码的方式,降低了开发爬虫程序的门槛,使用户将精力专注于如何分析数据、利用数据,而不需要关心如何实现数据爬取过程,有利于推动大数据技术的发展和运用。2、本专利技术中所用的配置表采用动态加载的方式被程序模块使用,因此,可以在爬取过程中随时改变爬取的内容、方向、范围、速度、安全要求等内容,解决了当前主流框架一旦启动就无法改变爬取行为的问题,有利于及时纠正爬取行为,防止出现爬取范围越界、爬取速度过快对服务器造成影响等情况的发生。附图说明图1是本专利技术的整体系统框架结构示意图;附图中的标号分别为:1、爬虫引擎,2、配置表填写模块,3、分发器组合模块,4、URL管理器,5、协议识别器,6、URL管理队列,7、网页下载器,8、网页下载器的泛型接口分发器,9、下载器,10、安全绕过管理器,11、内容解析器,12、内容解析器的泛型接口分发器,13、定位器,14、数据解析器,15、数据存储器,16、数据存储器的泛型接口分发器,17、数据收集器,18、数据输出分发器,19、普通数据类型接口生成器,20、数据库接口生成器,21、线程控制器,22、异步线程池,23、同步线程池,24、线程资源。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清晰、完整的描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例本专利技术提供了如图1所示的一种基于分发器和配置表组合的泛型爬虫系统,包括爬虫引擎1,配置表填写模块2,分发器组合模块3,URL管理器4,协议识别器5,URL管理队列6,网页下载器7,网页下载器的泛型接口分发器8,下载器9,安全绕过管理器10,内容解析器11,内容解析器的泛型接口分发器12,定位器13,数据解析器14,数据存储器15,数据存储器的泛型接口分发器16,数据收集器17,数据输出分发器18,普通数据类型接口生成器19,数据库接口生成器20,线程控制器21,异步线程池22,同步线程池23,线程资源24。具体:爬虫引擎1:用户在爬虫引擎1提供的配置表填写模块2中配置爬虫的入口URL地址、URL匹配规则、爬取范围规则,然后在分发器组合模块3中定本文档来自技高网...

【技术保护点】
1.一种基于分发器和配置表组合的泛型爬虫系统,其特征在于:包括爬虫引擎(1)、URL管理器(4)、网页下载器(7)、内容解析器(11)、数据存储器(15)和线程控制器(21);/n所述爬虫引擎(1)包括配置表填写模块(2)和分发器组合模块(3);所述配置表填写模块(2)从用户获取输入信息,生成配置表数据,所述分发器组合模块(3)定义URL管理器(4)、网页下载器(7)、内容解析器(11)、数据存储器(15)、线程控制器(21)的组合顺序,按照从配置表填写模块(2)获取的配置表数据驱动爬虫引擎(1)执行;/n所述URL管理器(4)包括协议识别器(5)和URL管理队列(6),所述协议识别器(5)接收爬虫引擎(1)的配置表信息,根据配置表信息爬取网页中符合规定的URL地址数据后,生成存储不同数据的URL管理队列(6);/n所述网页下载器(7)包括网页下载器的泛型接口分发器(8)、下载器(9)和安全绕过管理器(10),所述网页下载器的泛型接口分发器(8)接收爬虫引擎(1)的配置表信息和URL管理队列(6)中的数据,动态生成不同类型的下载器(9),所述下载器(9)接收网页下载器的泛型接口分发器(8)的配置表和数据后,根据配置表中安全要求,决定是否生成安全绕过管理器(10),如果确定生成,则下载器(9)生成安全绕过管理器(10),安全绕过管理器(10)生成安全配置包,下载器(9)接收安全配置包,然后用安全的方式下载并生成各类数据资源;如果确定不生成,则下载器(9)用非安全方式下载并生成各类数据资源;/n所述内容解析器(11)包括内容解析器的泛型接口分发器(12)、定位器(13)和数据解析器(14),所述内容解析器的泛型接口分发器(12)接收爬虫引擎(1)的配置表信息和网页下载器(7)生成的各类数据资源,动态生成定位器(13)和数据解析器(14),定位器(13)接收内容解析器的泛型接口分发器(12)的配置表信息,生成定位对象数据,数据解析器(14)接收网页下载器(7)生成的各类数据资源和定位器(13)生成的定位对象数据后,对数据资源中的表格、图片、视频、音频、文本数据进行解析,生成解析数据;/n所述数据存储器(15)包括数据存储器的泛型接口分发器(16)、数据收集器(17)、数据输出分发器(18)、普通数据类型接口生成器(19)和数据库接口生成器(20),所述数据存储器的泛型接口分发器(16)接收爬虫引擎(1)的配置表数据和内容解析器(11)的解析数据,生成数据收集器(17)和数据输出分发器(18),数据收集器(17)对数据进行清洗、转码操作,生成清洗后的数据,所述数据输出分发器(18)接收数据存储器的泛型接口分发器(16)的配置表数据和数据收集器(17)的清洗后的数据,动态生成普通数据类型接口生成器(19)和数据库接口生成器(20),然后普通数据类型接口生成器(19)将数据输出到HTML、CSV、TXT、EXCEL文件中,数据库接口生成器(20)将数据输出到SQL Server、MySQL、Oracle数据库中或送往第三方WebService接口;/n所述线程控制器(21)负责对爬取过程的线程数量、并发方式进行管理,分别接收URL管理器(4)、网页下载器(7)、内容解析器(11)和数据存储器(15)传递的配置表信息,确定是否启用线程,如启用,则生成异步线程池(22)或同步线程池(23),然后将过程资源放入线程池中,形成线程资源(24),实现爬取性能的提升。/n...

【技术特征摘要】
1.一种基于分发器和配置表组合的泛型爬虫系统,其特征在于:包括爬虫引擎(1)、URL管理器(4)、网页下载器(7)、内容解析器(11)、数据存储器(15)和线程控制器(21);
所述爬虫引擎(1)包括配置表填写模块(2)和分发器组合模块(3);所述配置表填写模块(2)从用户获取输入信息,生成配置表数据,所述分发器组合模块(3)定义URL管理器(4)、网页下载器(7)、内容解析器(11)、数据存储器(15)、线程控制器(21)的组合顺序,按照从配置表填写模块(2)获取的配置表数据驱动爬虫引擎(1)执行;
所述URL管理器(4)包括协议识别器(5)和URL管理队列(6),所述协议识别器(5)接收爬虫引擎(1)的配置表信息,根据配置表信息爬取网页中符合规定的URL地址数据后,生成存储不同数据的URL管理队列(6);
所述网页下载器(7)包括网页下载器的泛型接口分发器(8)、下载器(9)和安全绕过管理器(10),所述网页下载器的泛型接口分发器(8)接收爬虫引擎(1)的配置表信息和URL管理队列(6)中的数据,动态生成不同类型的下载器(9),所述下载器(9)接收网页下载器的泛型接口分发器(8)的配置表和数据后,根据配置表中安全要求,决定是否生成安全绕过管理器(10),如果确定生成,则下载器(9)生成安全绕过管理器(10),安全绕过管理器(10)生成安全配置包,下载器(9)接收安全配置包,然后用安全的方式下载并生成各类数据资源;如果确定不生成,则下载器(9)用非安全方式下载并生成各类数据资源;
所述内容解析器(11)包括内容解析器的泛型接口分发器(12)、定位器(13)和数据解析器(14),所述内容解析器的泛型接口分发器(12)接收爬虫引擎(1)的配置表信息和网页下载器(7)生成的各类数据资源,动态生成定位器(13)和数据解析器(14),定位器(13)接收内容解析器的泛型接口分发器(12)的配置表信息,生成定位对象数据...

【专利技术属性】
技术研发人员:毕玉冰刘超飞王文庆崔逸群董夏昕
申请(专利权)人:西安热工研究院有限公司
类型:发明
国别省市:陕西;61

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

1