爬取数据的方法、装置、介质及电子设备制造方法及图纸

技术编号:30044289 阅读:11 留言:0更新日期:2021-09-15 10:44
本发明专利技术涉及爬取数据的方法、装置、介质及电子设备。一种爬取数据的方法,包括:获取与爬虫任务相关的配置数据;从配置数据中获取第一动态请求信息;根据第一动态请求信息配置第一动态请求模板,第一动态请求模板包含第一动态参数;从第一动态参数的数据源获取第一动态参数对应的第一数据集合;基于第一数据集合和第一动态请求模板生成第一动态请求集合;基于第一动态请求集合进行下载,获取第一响应数据,所述第一响应数据用于被解析生成第一结果数据,所述第一结果数据为具有特定格式的所述待爬取目标的部分数据。本发明专利技术的方案可以使对所爬取数据的解析便利和高效。爬取数据的解析便利和高效。爬取数据的解析便利和高效。

【技术实现步骤摘要】
爬取数据的方法、装置、介质及电子设备


[0001]本专利技术涉及计算机网络
,具体涉及一种爬取数据的方法、装置、介质及电子设备。

技术介绍

[0002]现有的爬虫工具有例如八爪鱼,其预先爬取了主流网站的数据,用户可以在该工具中选取其需要的网站上的某些类型的数据,例如标题、价格、名称等,该工具主要针对小白用户而设计,优点是简单易用,缺点是只能满足简单需求;此外,还有名称为火车头采集器的爬虫工具,该工具针对有相关爬虫经验的用户设计,用户可以在其上进行一些简单的配置,包括提交URL、表达式等,但同样不能满足较为复杂的需求。

技术实现思路

[0003]当利用爬虫工具对一个目标网站进行数据爬取时,通常需要新建一个爬虫任务,从初始请求url开始,在爬取了当前页面的数据后,进一步地对当前页面上的超链接所链接到的下一级页面数据继续爬取,并依次一级一级地继续下去,从而实现连续地爬取数据。然而,对于同一目标网站而言,不同内容的页面,其数据格式通常是不同的,例如,如图1所示,在该目标网站的某一列表页面中显示了多个列表条目,并且点击各个列表条目可以对应地链接到各自的评论信息页面(图1示意性示出点击列表条目1的评论跳转至的评论页面),利用现有爬虫工具爬取的数据会把列表数据和评论数据混合地下载在一个表中。由于两种数据的格式(或者说,结构)往往是不同的,给解析造成了困难和麻烦。本专利技术通过引入动态请求,较好地解决了这个问题。
[0004]根据本专利技术的一个方案,提供了一种爬取数据的方法,包括:获取与爬虫任务相关的配置数据;从所述配置数据中获取第一动态请求信息;根据所述第一动态请求信息配置第一动态请求模板,所述第一动态请求模板包含第一动态参数;从所述第一动态参数的数据源获取所述第一动态参数对应的第一数据集合;基于所述第一数据集合和所述第一动态请求模板生成第一动态请求集合;基于所述第一动态请求集合进行下载,获取第一响应数据。
[0005]根据本专利技术的再一个方案,提供了一种非临时性计算机可读介质,其上存储有计算机可执行代码,所述计算机可执行代码在被处理器执行时实现所述的方法。
[0006]根据本专利技术的还一个方案,提供了一种电子设备,包括处理器、存储器以及其上存储的计算机可执行代码,当所述处理器执行所述计算机可执行代码时实现所述的方法。
[0007]传统的爬取方式为,设定待爬取目标的固定url(即,固定请求)等配置参数,从而依次爬取该固定url下所有层级的数据,直到爬取不到更新的数据。而利用本专利技术的方案,提出了一种新的爬取方式,配置了动态请求模板,并且当从动态参数的数据源获取到动态参数对应的数据集合时,生成相应的动态请求集合并以此进行相应数据爬取,因此,可以分别针对待爬取目标中的各类型的数据页面(例如仅针对评论页面、仅针对详情页面等)的数
据进行单独的动态爬取,利用动态请求所获取到的数据的格式相对统一,从而可以给之后的数据解析工作带来便利和效率的提升。
附图说明
[0008]在不一定按比例绘制的附图中,相同的附图标记可以在类型的视图中描述相似的部件。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本系统或方法的穷尽或排他实施例。
[0009]图1示意性示出列表页面以及点击列表条目1的评论跳转至的评论页面。
[0010]图2是本专利技术实施例的一种爬取数据的方法的流程示意图。
[0011]图3是本专利技术另一实施例的一种爬取数据的方法的流程示意图。
[0012]图4是示意性地示出了本专利技术实施例的一种爬取数据的装置。
具体实施方式
[0013]此处参考附图描述本公开的各种方案以及特征。通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本专利技术的这些和其它特性将会变得显而易见。
[0014]本说明书可使用词组“在一个实施例中”、“在一些实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本公开的相同或类型实施例中的一个或多个。相同或相似的附图标记指代相同或相似的元件或过程。具体实施例中,以单数形式出现的元件并不排除可以以多个(复数个)形式出现。
[0015]术语定义
[0016]本文中,“固定请求URL”指完整的可用于访问的URL,其用于本专利技术的固定请求,即爬虫装置/引擎/平台/系统基于固定请求URL爬取该URL以及该URL下各个层级的数据的请求。
[0017]“动态请求URL”指带有动态参数的URL,该动态参数以预定的符号来表征,需要在应用本专利技术实施例的过程中(动态地)获取替换该动态参数的数据(或数据集合),从而使得动态请求URL变更为完整的可用于访问的URL,“动态请求URL”用于本专利技术的动态请求。
[0018]“结果数据”例如为响应数据中用户关注的数据,或者为响应数据对应页面主要部分的数据。例如,结果数据为评论数据,其一般地具有针对于评论而统一设定的数据格式;又例如,结果数据为列表数据,其一般地具有针对于列表而统一设定的数据格式。
[0019]实施例
[0020]如图2所示,下面描述本专利技术实施例的一种爬取数据的方法100,该方法包括步骤:
[0021]101,获取与待爬取目标的爬虫任务相关的配置数据。爬虫任务是用户建立的针对待爬取目标(例如,PC端利用浏览器访问的目标网站或智能手机等智能设备上安装的APP)的爬取任务,当爬虫任务启动时,爬虫装置将给予爬虫任务分配相应的线程和系统资源。用户可以例如通过应用本专利技术实施例的爬虫装置的前端请求配置界面输入配置数据,包括诸如请求URL等各种参数和执行爬虫任务所需信息,并且用户所输入的配置数据可以存储到文件或数据库中。可以从文件或数据库或任意的数据源获取与待爬取目标的爬虫任务相关
的配置数据。
[0022]102,从所述配置数据中获取第一动态请求信息。具体地,第一动态请求信息可以包括关联于该第一动态请求的请求方法和动态请求URL信息。
[0023]103,根据所述第一动态请求信息配置第一动态请求模板,所述第一动态请求模板包含第一动态参数。具体地,可以基于请求方法和动态请求URL来配置动态请求模板。该请求模板一般地可以为http请求模板,请求方法和请求URL均为配置http请求时需要用到的。动态请求URL为包含动态参数的URL。例如,请求方法为get或post,动态请求URL为“http://test.com?param={}”,其中“{}”为动态参数(本例中,可视为第一动态参数)。当然,可以使用除“{}”的其他符号作为动态参数,本专利技术对此不作限制。
[0024]104,从第一动态参数的数据源获取第一动态参数对应的第一数据集合。数据源可以包括但不限于数据库、文件或接口。例如,当第一动态参数的数据源为数据库时,可以利用诸如SQL语句的数据库查本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种爬取数据的方法,其特征在于,包括:获取与待爬取目标的爬虫任务相关的配置数据;从所述配置数据中获取第一动态请求信息;根据所述第一动态请求信息配置第一动态请求模板,所述第一动态请求信息包括关联于第一动态请求的第一请求方法和第一动态请求URL,所述第一动态请求URL中包含第一动态参数;从所述第一动态参数的数据源获取所述第一动态参数对应的第一数据集合;基于所述第一数据集合和所述第一动态请求模板生成第一动态请求集合;基于所述第一动态请求集合进行下载,获取第一响应数据,所述第一响应数据用于被解析生成第一结果数据,所述第一结果数据为具有特定格式的所述待爬取目标的部分数据。2.根据权利要求1所述的方法,其特征在于,按照预定时间周期从所述第一动态参数的数据源获取所述第一动态参数对应的第一数据集合,从而动态地生成所述第一动态请求集合。3.根据权利要求1所述的方法,其特征在于,所述第一数据集合的数据包含于基于第二固定请求爬取并解析出的第二结果数据中,所述第二结果数据存储在所述数据源中,其中所述第二固定请求为包含固定请求URL的请求并且所述第一结果数据和所述第二结果数据的格式互不相同。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:从所述配置数据中获取第二固定请求信息,根据所述第二固定请求信息封装生成第二固定请求;基于所述第二固定请求进行下载,获取第二响应数据;从所述第二响应数据中解析出所述第二结果数据并存储到所述数据源。5.根据权利要求1所述的方法,其特征在于,所述第一数据集合的数据包含于基于第三动...

【专利技术属性】
技术研发人员:杨光周天星
申请(专利权)人:北京精准沟通传媒科技股份有限公司
类型:发明
国别省市:

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

1