买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】网页数据爬取方法、装置及存储介质_平安科技(深圳)有限公司_201810791126.3 

申请/专利权人:平安科技(深圳)有限公司

申请日:2018-07-18

公开(公告)日:2023-03-14

公开(公告)号:CN110020060B

主分类号:G06F16/951

分类号:G06F16/951;G06F16/955

优先权:

专利状态码:有效-授权

法律状态:2023.03.14#授权;2020.08.18#实质审查的生效;2019.07.16#公开

摘要:本发明提供一种网页数据爬取方法,该方法根据接收的网页数据爬取请求读取第一URL列表,根据预先构建的docker镜像生成多个应用容器,将读取的所述第一URL列表划分为多个第二URL列表,并分别爬取所述多个第二URL列表中每条URL对应的网页数据,之后,该方法提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。本发明还提供一种电子装置及计算机存储介质。利用本发明,可以提高网页数据爬取效率。

主权项:1.一种网页数据爬取方法,应用于电子装置,其特征在于,所述方法包括:S1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URLUniformResourceLocation,统一资源定位符列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;S2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;S3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;S4、基于多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;及S5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。

全文数据:网页数据爬取方法、装置及存储介质技术领域本发明涉及数据处理领域,尤其涉及一种网页数据爬取方法、电子装置及计算机可读存储介质。背景技术现有技术中,在一台服务器上运行多个任务的传统方式是启动多个虚拟机,然后在不同的虚拟机上运行不同的任务。传统的虚拟化技术多是采用基于VMware虚拟机,而VMware虚拟机的运行必须要运行整个操作系统,需要占用大量的系统资源。然而,对于服务器来说,其CPU、内存、网络资源和磁盘资源等资源都是有限的。以网页数据爬取为例,目前爬虫的分布式受限于机器数量、CPU数量、线程个数和进程数量等,当服务器上启动的虚拟机过于消耗资源时,导致无法最大化利用系统资源,进而影响网页数据的爬取效率。发明内容鉴于以上内容,本发明提供一种网页数据爬取方法、服务器及计算机可读存储介质,其主要目的在于提高网页数据爬取效率。为实现上述目的,本发明提供一种网页数据爬取方法,该方法包括:S1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URLUniformResourceLocation,统一资源定位符列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;S2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;S3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;S4、基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;及S5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。优选地,在步骤S1之前,该方法还包括:接收客户端发送的配置参数,从配置参数中获取预先配置好并行进程的数量、网页数据及各程序的指定存储路径;及根据获取的并行进程的数量、各个程序的文件路径生成配置文件,将所述配置文件存储至第一预设存储路径中。优选地,所述第一URL列表中还包括每条URL对应的索引值信息,其中,所述“每条URL对应的索引值信息”通过以下步骤获取:获取并分析第一URL列表中每条URL的具体信息,确定每条URL的特征信息;及根据特征信息与索引值的映射关系,为第一URL列表中每条URL匹配对应的索引值。优选地,该方法还包括以下步骤:当存在无法根据特征信息匹配索引值的URL时,基于该URL生成提示信息,并接收对该URL匹配索引值的匹配指令。优选地,在步骤S5之前,该方法还包括以下步骤:对所述网页数据的数量及第一URL列表中URL的数量进行比对,确定第三URL列表;当第三URL列表不为空时,针对第三URL列表中的每条URL执行网页数据爬取操作,直至第三URL列表为空为止,并将所述第三URL列表对应的网页数据保存至第四预设存储路径中;及当第三URL列表为空时,继续执行步骤S5。优选地,在步骤S5之前,该方法还包括以下步骤:分别从第三预设存储路径中获取第二URL列表及URL正则挖掘程序;从第四预设存储路径中获取各第二URL列表对应的网页数据,对各第二URL列表对应的网页数据进行挖掘,确定每个第二URL列表对应的第四URL列表,将所述第四URL列表保存至第五预设存储路径中;及对所述第四URL列表执行网页数据爬取操作,并对第四URL列表对应的网页数据进行子URL挖掘操作,抽取新的子URL,并进行网页数据爬取操作,以此循环。此外,本发明还提供一种电子装置,其特征在于,该装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的网页数据爬取程序,所述网页数据爬取程序被所述处理器执行时,可实现如上所述网页数据爬取方法中的任意步骤。此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括网页数据爬取程序,所述网页数据爬取程序被处理器执行时,可实现如上所述网页数据爬取方法中的任意步骤。本发明提出的网页数据爬取方法、电子装置及计算机可读存储介质,基于docker镜像建立docker应用容器来并行的进行数据处理,docker应用容器可以节省启动操作系统所带来的资源浪费,以进程级别的消耗来提供与虚拟机类似的隔离能力,基于这个框架,用户只需要设置好配置文件、将相关程序生成镜像文件,通过建立多个docker应用容器并行地爬取网页数据,即可高效地完成网页数据爬取工作;通过对爬取到的网页数据进行数据验证,保证爬取到的网页数据的完整性;通过对爬取到的网页数据进行子URL深度挖掘,保证网页数据的全面性。附图说明图1为本发明网页数据爬取方法较佳实施例的流程图;图2为本发明电子装置较佳实施例的示意图;图3为本发明图2中网页数据爬取程序的程序模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供一种网页数据爬取方法。参照图1所示,为本发明网页数据爬取方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和或硬件实现。在本实施例中,基于docker的网页数据爬取方法包括步骤S1-S5:S1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URL列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;以下内容以电子装置作为执行主体对本发明方法实施例进行说明,其中,电子装置作为服务器与用户终端建立通讯连接,并接收用户终端发送的业务数据处理请求,根据请求对业务数据进行处理。该电子装置可以具有多核CPUCentralProcessingUnit,中央处理器。可以理解的是,在接收用户终端发送的网页数据爬取请求并对网页数据进行爬取之前,在电子装置上配置好docker镜像。具体地,基于dockerfile规则创建docker镜像,该docker镜像中包含有列表划分程序、并行处理程序、数据验证程序、数据合并程序等,将创建的docker镜像保存至保存至第二预设存储路径中。在创建完docker镜像之后,基于该docker镜像创建多个应用容器。每一个程序可以独立地运行在应用容器中,多个应用容器之间的运行相互独立。此外,在步骤S1之前,该方法还包括步骤:接收客户端发送的配置参数,从配置参数中获取预先配置好并行进程的数量、网页数据及各程序的指定存储路径;根据获取的并行进程的数量、各个程序的文件路径生成配置文件,将所述配置文件存储至第一预设存储路径中。其中,上述进程的数量根据服务器的多核CPU的大小、以及数据处理需要占用的CPU情况来进行调整。上述网页数据爬取请求中包含的第一URL列表为待爬取的原始URL列表,在接收到网页数据爬取请求时,根据待爬取的第一URL列表中每条URL的信息,确定每条URL对应的索引值,将每条URL对应的索引值信息更新至上述第一URL列表中,然后将上述更新后的第一URL列表存储至第一预设存储路径中,其中,第一预设存储路径可以为Redis数据库。作为一种实施方式,所述“第一URL列表中每条URL对应的索引值”通过以下步骤获取:获取并分析第一URL列表中每条URL的具体信息,确定每条URL的特征信息;及根据特征信息与索引值的映射关系,为第一URL列表中每条URL匹配对应的索引值。其中,上述特征信息可以用于表征网页的类型,索引值用于调取爬虫程序。上述特征信息与索引值的映射关系通过以下步骤获取:获取指定URL的集合,确定集合中每条URL的特征信息,为每条URL标注索引值;根据索引值将集合中的指定URL划分至不同索引值对应的子集合中;分别统计每个子集合中不同特征信息的占比,选择占比最大的特征信息作为各子集合中指定URL的目标特征信息;根据各子集合中指定URL的目标特征信息与该子集合对应的索引值,确定特征信息与索引值的映射关系。进一步地,该方法还包括以下步骤:当存在无法根据特征信息匹配索引值的URL时,基于该URL生成提示信息,并接收对该URL匹配索引值的匹配指令。其中,上述匹配指令中包含上述无法根据特征信息匹配索引值的URL对应的索引值信息。将无法匹配索引值的URL导出,将导出的URL反馈至指定终端,人为地为导出的URL确定对应的索引值。S2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;在本实施例中,应用容器包括:一个第一应用容器、多个第二应用容器、一个第三应用容器。S3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;具体地,运行所述第一应用容器,从第一预设存储路径中获取第一URL列表,从第二预设存储路径中调用上述列表划分程序,将第一URL列表平均地划分为N个URL子列表,即,N个第二URL列表,N为大于1的整数。其中,每一个第二URL列表中包含多条URL及每条URL对应的索引值信息,并将每一个第二URL列表存储至预设的第二URL列表的存储路径中,即,第三预设存储路径中。在该步骤中,第二URL列表的数量N与第二应用容器的数量一致,例如,第二应用容器的数量为5时,N为5,表示将第一URL列表划分为5各第二URL列表。基于该步骤,实现待爬取列表及对应的程序索引值的划分及转移。进一步地,第一应用容器从第二预设存储路径调用配置文件,将服务器的CPU资源分配给下述多个第二应用容器,供多个第二应用容器并行地执行网页数据爬取操作。从该配置文件中获取数据处理参数,其中,数据处理参数包括并行进程的数量N以及爬取到的网页数据的存储路径。S4、基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个第二URL列表,所述多个第二应用容器分别从所述第三预设存储路径获取一个第二URL列表,根据每一个第二URL列表中每条URL对应的索引值,依次调用与索引值对应的爬虫程序,进行网页数据爬取操作,并将爬取到的网页数据保存至指定的存储路径中。其中,不同的第二应用容器对应同一个第四预设存储路径,即,不同第二应用内容器爬取到的网页数据保存至同一个文件夹中。通过该步骤,实现了网页数据的爬取及汇总过程。S5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。运行所述第三应用容器,从第四预设存储路径中读取上述N个第二应用容器爬取到的网页数据,并将网页数据发送至上述网页数据爬取请求对应的用户终端,并生成提示信息。在其他实施例中,为了保证爬取到的网页数据的完整性,需对爬取到的网页数据进行验证。具体地,在步骤S5之前,该方法还包括步骤:对所述网页数据的数量及第一URL列表中URL的数量进行比对,确定第三URL列表;当第三URL列表不为空时,针对第三URL列表中的每条URL执行网页数据爬取操作,直至第三URL列表为空为止,并将所述第三URL列表对应的网页数据保存至第四预设存储路径中;当第三URL列表为空时,继续执行步骤S5。具体地,基于docker镜像生成第四应用容器,该第四应用容器对爬取到的网页数据进行验证。其中,第三URL列表中包含待爬取的URL及待爬取URL对应的索引值。可以理解的是,一条URL对应一条网页数据,假设统计得到第一URL列表中URL的数量为P、第四预设存储路径中网页数据的数量为Q,当P=Q时,说明第三URL列表为空,即不存在未处理的URL,也就是说,不存在待爬取的网页数据;当P>Q时,所述第三URL列表中URL的数量为P-Q,P-Q条URL为待处理的URL,即存在待爬取的网页数据,对于包含待处理URL的第三URL列表,运行上述第四应用容器,执行网页数据爬取操作,并将该步骤爬取到的网页数据与通过步骤S4爬取到的网页数据进行合并。需要说明是,当对第三URL列表中的URL执行预设次数例如,3次后,某URL仍然存在在第三URL列表中时,生成预警信息。通过该步骤,可以防止网页数据的遗漏,保证网页数据的完整性。优选地,存在一种情况,爬取到的网页数据中包含子URL,为了保证爬取到的网页数据的全面性,还可以对第一URL列表进行深度挖掘,确定网页数据中包含的子URL对应的网页数据。具体地,在步骤S5之前,该方法还包括步骤:分别从第三预设存储路径中获取第二URL列表及URL正则挖掘程序;从第四预设存储路径中获取各第二URL列表对应的网页数据,对各第二URL列表对应的网页数据进行挖掘,确定每个第二URL列表对应的第四URL列表,将所述第四URL列表保存至第五预设存储路径中;对所述第四URL列表执行网页数据爬取操作,继续对第四URL列表对应的网页数据进行子URL挖掘操作,抽取新的子URL,并进行网页数据爬取操作,以此循环。每个第二URL列表对应一个第四URL列表,对第四URL列表执行网页数据爬取操作的第二应用容器与该第四URL列表对应的第二URL列表的第二应用容器为同一个。需要理解的是,为了防止一直深度挖掘新的子URL的情况,预先设置一个深度阈值表示深度挖掘子URL的次数,当深度挖掘URL列表的次数超过预设的深度阈值时,停止挖掘新的子URL的操作。上述实施例提出的网页数据爬取方法,在接收到网页数据爬取请求时,根据该请求获取待处理的第一URL列表,将其存储至预设的配置文件所在的第一预设存储路径中,从第二预设存储路径中读取预先构建的docker镜像,并根据该docker镜像生成多个应用容器,从上述第一预设存储路径中读取配置文件和第一URL列表,根据多个应用容器和配置文件将第一URL列表分割成多个第二URL列表,按照多容器并行处理的方式处理多个第二URL列表,系统资源会被服务器分配给并行处理的多个应用容器,爬取到各第二URL列表对应的网页数据,并将其发送至网页数据请求对应的用户终端。本发明的方案基于docker镜像建立docker应用容器来并行的进行数据处理,docker应用容器可以节省启动操作系统所带来的资源浪费,以进程级别的消耗来提供与虚拟机类似的隔离能力,基于这个框架,用户只需要设置好配置文件、将相关程序生成镜像文件,通过建立多个docker应用容器并行地爬取网页数据,即可高效地完成网页数据爬取工作;通过对爬取到的网页数据进行数据验证,保证爬取到的网页数据的完整性;通过对爬取到的网页数据进行子URL深度挖掘,保证网页数据的全面性。本发明还提供一种电子装置。参照图2所示,为本发明电子装置1较佳实施例的示意图。在本实施例中,电子装置1可以是智能手机、平板电脑、便携计算机、桌上型计算机等具有数据处理功能的终端设备。该电子装置1包括存储器11、处理器12,及网络接口13。其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器例如,SD或DX存储器等、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。存储器11在另一些实施例中也可以是所述电子装置1的外部存储设备,例如该电子装置1上配备的插接式硬盘,智能存储卡SmartMediaCard,SMC,安全数字SecureDigital,SD卡,闪存卡FlashCard等。进一步地,存储器11还可以既包括该电子装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于该电子装置1的应用软件及各类数据,例如网页数据爬取程序10等,还可以用于暂时地存储已经输出或者将要输出的数据。处理器12在一些实施例中可以是一中央处理器CentralProcessingUnit,CPU、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如网页数据爬取程序10等。网络接口13可选的可以包括标准的有线接口、无线接口如WI-FI接口,通常用于在该电子装置1与其他电子设备之间建立通信连接。图2仅示出了具有组件11-13的电子装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。可选地,该电子装置1还可以包括用户接口,用户接口可以包括显示器Display、输入单元比如键盘Keyboard,可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管OrganicLight-EmittingDiode,OLED触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。在图2所示的电子装置1实施例中,作为一种计算机存储介质的存储器11中存储有网页数据爬取程序10,处理器12执行存储器11中存储的网页数据爬取程序10时,实现如下步骤:A1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URLUniformResourceLocation,统一资源定位符列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;以下内容以电子装置作为执行主体对本发明方法实施例进行说明,其中,电子装置作为服务器与用户终端建立通讯连接,并接收用户终端发送的业务数据处理请求,根据请求对业务数据进行处理。该电子装置可以具有多核CPUCentralProcessingUnit,中央处理器。可以理解的是,在接收用户终端发送的网页数据爬取请求并对网页数据进行爬取之前,在电子装置上配置好docker镜像。具体地,基于dockerfile规则创建docker镜像,该docker镜像中包含有列表划分程序、并行处理程序、数据验证程序、数据合并程序等,将创建的docker镜像保存至保存至第二预设存储路径中。在创建完docker镜像之后,基于该docker镜像创建多个应用容器。每一个程序可以独立地运行在应用容器中,多个应用容器之间的运行相互独立。此外,在步骤A1之前,该方法还包括步骤:接收客户端发送的配置参数,从配置参数中获取预先配置好并行进程的数量、网页数据及各程序的指定存储路径;根据获取的并行进程的数量、各个程序的文件路径生成配置文件,将所述配置文件存储至第一预设存储路径中。其中,上述进程的数量根据服务器的多核CPU的大小、以及数据处理需要占用的CPU情况来进行调整。上述网页数据爬取请求中包含的第一URL列表为待爬取的原始URL列表,在接收到网页数据爬取请求时,根据待爬取的第一URL列表中每条URL的信息,确定每条URL对应的索引值,将每条URL对应的索引值信息更新至上述第一URL列表中,然后将上述更新后的第一URL列表存储至第一预设存储路径中,其中,第一预设存储路径可以为Redis数据库。作为一种实施方式,所述“第一URL列表中每条URL对应的索引值”通过以下步骤获取:获取并分析第一URL列表中每条URL的具体信息,确定每条URL的特征信息;及根据特征信息与索引值的映射关系,为第一URL列表中每条URL匹配对应的索引值。其中,上述特征信息可以用于表征网页的类型,索引值用于调取爬虫程序。上述特征信息与索引值的映射关系通过以下步骤获取:获取指定URL的集合,确定集合中每条URL的特征信息,为每条URL标注索引值;根据索引值将集合中的指定URL划分至不同索引值对应的子集合中;分别统计每个子集合中不同特征信息的占比,选择占比最大的特征信息作为各子集合中指定URL的目标特征信息;根据各子集合中指定URL的目标特征信息与该子集合对应的索引值,确定特征信息与索引值的映射关系。进一步地,该方法还包括以下步骤:当存在无法根据特征信息匹配索引值的URL时,基于该URL生成提示信息,并接收对该URL匹配索引值的匹配指令。其中,上述匹配指令中包含上述无法根据特征信息匹配索引值的URL对应的索引值信息。将无法匹配索引值的URL导出,将导出的URL反馈至指定终端,人为地为导出的URL确定对应的索引值。A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;在本实施例中,应用容器包括:一个第一应用容器、多个第二应用容器、一个第三应用容器。A3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;具体地,运行所述第一应用容器,从第一预设存储路径中获取第一URL列表,从第二预设存储路径中调用上述列表划分程序,将第一URL列表平均地划分为N个URL子列表,即,N个第二URL列表,N为大于1的整数。其中,每一个第二URL列表中包含多条URL及每条URL对应的索引值信息,并将每一个第二URL列表存储至预设的第二URL列表的存储路径中,即,第三预设存储路径中。在该步骤中,第二URL列表的数量与第二应用容器的数量一致,例如,第二应用容器的数量为5时,N为5,表示将第一URL列表划分为5各第二URL列表。基于该步骤,实现待爬取列表及对应的程序索引值的划分及转移。进一步地,第一应用容器从第二预设存储路径调用配置文件,将服务器的CPU资源分配给下述多个第二应用容器,供多个第二应用容器并行地执行网页数据爬取操作。从该配置文件中获取数据处理参数,其中,数据处理参数包括并行进程的数量N以及爬取到的网页数据的存储路径。A4、基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个第二URL列表,所述多个第二应用容器分别从所述第三预设存储路径获取一个第二URL列表,根据每一个第二URL列表中每条URL对应的索引值,依次调用与索引值对应的爬虫程序,进行网页数据爬取操作,并将爬取到的网页数据保存至指定的存储路径中。其中,不同的第二应用容器对应同一个第四预设存储路径,即,不同第二应用内容器爬取到的网页数据保存至同一个文件夹中。通过该步骤,实现了网页数据的爬取及汇总过程。A5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。运行所述第三应用容器,从第四预设存储路径中读取上述N个第二应用容器爬取到的网页数据,并将网页数据发送至上述网页数据爬取请求对应的用户终端,并生成提示信息。在其他实施例中,为了保证爬取到的网页数据的完整性,需对爬取到的网页数据进行验证。具体地,所述网页数据爬取程序10被所述处理器执行时,在步骤A5之前,还实现如下步骤:对所述网页数据的数量及第一URL列表中URL的数量进行比对,确定第三URL列表;当第三URL列表不为空时,针对第三URL列表中的每条URL执行网页数据爬取操作,直至第三URL列表为空为止,并将所述第三URL列表对应的网页数据保存至第四预设存储路径中;当第三URL列表为空时,继续执行步骤A5。具体地,基于docker镜像生成第四应用容器,该第四应用容器对爬取到的网页数据进行验证。其中,第三URL列表中包含待爬取的URL及待爬取URL对应的索引值。可以理解的是,一条URL对应一条网页数据,假设统计得到第一URL列表中URL的数量为P、第四预设存储路径中网页数据的数量为Q,当P=Q时,说明第三URL列表为空,即不存在未处理的URL,也就是说,不存在待爬取的网页数据;当P>Q时,所述第三URL列表中URL的数量为P-Q,P-Q条URL为待处理的URL,即存在待爬取的网页数据,对于包含待处理URL的第三URL列表,运行上述第四应用容器,执行网页数据爬取操作,并将该步骤爬取到的网页数据与通过步骤A4爬取到的网页数据进行合并。需要说明是,当对第三URL列表中的URL执行预设次数例如,3次后,某URL仍然存在在第三URL列表中时,生成预警信息。通过该步骤,可以防止网页数据的遗漏,保证网页数据的完整性。优选地,存在一种情况,爬取到的网页数据中包含子URL,为了保证爬取到的网页数据的全面性,还可以对第一URL列表进行深度挖掘,确定网页数据中包含的子URL对应的网页数据。具体地,具体地,所述网页数据爬取程序10被所述处理器执行时,在步骤A5之前,还实现如下步骤:分别从第三预设存储路径中获取第二URL列表及URL正则挖掘程序;从第四预设存储路径中获取各第二URL列表对应的网页数据,对各第二URL列表对应的网页数据进行挖掘,确定每个第二URL列表对应的第四URL列表,将所述第四URL列表保存至第五预设存储路径中;对所述第四URL列表执行网页数据爬取操作,继续对第四URL列表对应的网页数据进行子URL挖掘操作,抽取新的子URL,并进行网页数据爬取操作,以此循环。每个第二URL列表对应一个第四URL列表,对第四URL列表执行网页数据爬取操作的第二应用容器与该第四URL列表对应的第二URL列表的第二应用容器为同一个。需要理解的是,为了防止一直深度挖掘新的子URL的情况,预先设置一个深度阈值表示深度挖掘子URL的次数,当深度挖掘URL列表的次数超过预设的深度阈值时,停止挖掘新的子URL的操作。上述实施例提出的电子装置1,基于docker镜像建立docker应用容器来并行的进行数据处理,docker应用容器可以节省启动操作系统所带来的资源浪费,以进程级别的消耗来提供与虚拟机类似的隔离能力,基于这个框架,用户只需要设置好配置文件、将相关程序生成镜像文件,通过建立多个docker应用容器并行地爬取网页数据,即可高效地完成网页数据爬取工作;通过对爬取到的网页数据进行数据验证,保证爬取到的网页数据的完整性;通过对爬取到的网页数据进行子URL深度挖掘,保证网页数据的全面性。可选地,在其他的实施例中,网页数据爬取程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器本实施例为处理器12所执行,以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。例如,参照图3所示,为图2中网页数据爬取程序10的模块示意图,该实施例中,网页数据爬取程序10可以被分割为接收模块110、容器生成模块120、列表划分模块130、数据爬取模块140及数据发送模块150,所述模块110-150所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:接收模块110,用于接收网页数据爬取请求,根据该网页数据爬取请求获取第一URL列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;容器生成模块120,用于从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;及列表划分模块130,用于从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;数据爬取模块140,用于基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;及数据发送模块150,用于基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括网页数据爬取程序10,所述网页数据爬取程序10被处理器执行时实现如下操作:A1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URL列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;A3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;A4、基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;及A5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。本发明之计算机可读存储介质的具体实施方式与上述网页数据爬取方法的具体实施方式大致相同,在此不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质如ROMRAM、磁碟、光盘中,包括若干指令用以使得一台终端设备可以是手机,计算机,服务器,或者网络设备等执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

权利要求:1.一种网页数据爬取方法,应用于电子装置,其特征在于,所述方法包括:S1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URLUniformResourceLocation,统一资源定位符列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;S2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;S3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;S4、基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;及S5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。2.根据权利要求1所述的网页数据爬取方法,其特征在于,在步骤S1之前,该方法还包括:接收客户端发送的配置参数,从配置参数中获取预先配置好并行进程的数量、网页数据及各程序的指定存储路径;及根据获取的并行进程的数量、各个程序的文件路径生成配置文件,将所述配置文件存储至第一预设存储路径中。3.根据权利要求1所述的网页数据爬取方法,其特征在于,所述第一URL列表中还包括每条URL对应的索引值信息,其中,所述“每条URL对应的索引值信息”通过以下步骤获取:获取并分析第一URL列表中每条URL的具体信息,确定每条URL的特征信息;及根据特征信息与索引值的映射关系,为第一URL列表中每条URL匹配对应的索引值。4.根据权利要求3所述的网页数据爬取方法,其特征在于,该方法还包括以下步骤:当存在无法根据特征信息匹配索引值的URL时,基于该URL生成提示信息,并接收对该URL匹配索引值的匹配指令。5.根据权利要求1至4中任意一项所述的网页数据爬取方法,其特征在于,在步骤S5之前,该方法还包括以下步骤:对所述网页数据的数量及第一URL列表中URL的数量进行比对,确定第三URL列表;当第三URL列表不为空时,针对第三URL列表中的每条URL执行网页数据爬取操作,直至第三URL列表为空为止,并将所述第三URL列表对应的网页数据保存至第四预设存储路径中;及当第三URL列表为空时,继续执行步骤S5。6.根据权利要求5所述的网页数据爬取方法,其特征在于,在步骤S5之前,该方法还包括以下步骤:分别从第三预设存储路径中获取第二URL列表及URL正则挖掘程序;从第四预设存储路径中获取各第二URL列表对应的网页数据,对各第二URL列表对应的网页数据进行挖掘,确定每个第二URL列表对应的第四URL列表,将所述第四URL列表保存至第五预设存储路径中;及对所述第四URL列表执行网页数据爬取操作,并对第四URL列表对应的网页数据进行子URL挖掘操作,抽取新的子URL,并进行网页数据爬取操作,以此循环。7.一种电子装置,其特征在于,该装置包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的网页数据爬取程序,所述网页数据爬取程序被所述处理器执行时,可实现如下步骤:A1、接收网页数据爬取请求,根据该网页数据爬取请求获取第一URL列表,该第一URL列表中包括待爬取的URL,将该第一URL列表存储至预设的配置文件所在的第一预设存储路径中;A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器,其中,应用容器包括:第一应用容器、第二应用容器、第三应用容器;A3、从所述第一预设存储路径中读取第一URL列表及配置文件,基于所述第一应用容器将所述第一URL列表划分为多个第二URL列表,将所述多个第二URL列表存储至第三预设存储路径中;A4、基于所述多个第二应用容器分别爬取所述多个第二URL列表中每条URL对应的网页数据,并将该网页数据保存至第四预设存储路径中;及A5、基于所述第三应用容器从第四预设存储路径中提取所述网页数据,并将所述网页数据发送至所述网页数据爬取请求对应的用户终端。8.根据权利要求7所述的电子装置,其特征在于,所述网页数据爬取程序被所述处理器执行时,在步骤A5之前,还实现如下步骤:对所述网页数据的数量及第一URL列表中URL的数量进行比对,确定第三URL列表;当第三URL列表不为空时,针对第三URL列表中的每条URL执行网页数据爬取操作,直至第三URL列表为空为止,并将所述第三URL列表对应的网页数据保存至第四预设存储路径中;及当第三URL列表为空时,继续执行步骤A5。9.根据权利要求7至8中任意一项所述的电子装置,其特征在于,所述网页数据爬取程序被所述处理器执行时,在步骤A5之前,还实现如下步骤:分别从第三预设存储路径中获取第二URL列表及URL正则挖掘程序;从第四预设存储路径中获取各第二URL列表对应的网页数据,对各第二URL列表对应的网页数据进行挖掘,确定每个第二URL列表对应的第四URL列表,将所述第四URL列表保存至第五预设存储路径中;对所述第四URL列表执行网页数据爬取操作,继续对第四URL列表对应的网页数据进行子URL挖掘操作,抽取新的子URL,并进行网页数据爬取操作,以此循环。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括网页数据爬取程序,所述网页数据爬取程序被处理器执行时,可实现如权利要求1至6中任意一项所述的网页数据爬取方法的步骤。

百度查询: 平安科技(深圳)有限公司 网页数据爬取方法、装置及存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。