一种数据获取方法、装置、电子设备和存储介质制造方法及图纸

技术编号:35189885 阅读:27 留言:0更新日期:2022-10-12 18:06
本公开提供了一种数据获取方法、装置、电子设备和存储介质,其中,该方法包括:响应于数据获取请求,基于其指示的资源定位标识,确定请求队列描述信息;将数据获取请求存储在与其匹配的请求队列中;响应于下载器发送的队列获取指令,将当前存储的请求队列对应的请求队列描述信息发送给下载器,以使下载器基于当前响应的数据获取请求的请求队列描述信息,从各请求队列的请求队列描述信息中提取目标请求队列描述信息;目标请求队列描述信息与下载器当前响应中的数据获取请求对应的请求队列描述信息不同;响应于下载器发送的请求获取指令,从其指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,将其发送至下载器。发送至下载器。发送至下载器。

【技术实现步骤摘要】
一种数据获取方法、装置、电子设备和存储介质


[0001]本公开涉及数据采集领域,具体而言,涉及一种数据获取方法、装置、电子设备和存储介质。

技术介绍

[0002]目前,数据呈现爆炸增长的趋势,如何快速高效地采集并利用这些数据成为了新的挑战,实际操作中,可通过网络爬虫或网站公开API等方式从网站上获取数据信息。
[0003]网络爬虫中最常见的是分布式爬虫,可采集大规模的数据,分布式爬虫中,为提高效率,可拥有多个下载器,分布式运行,为避免不同下载器响应同一数据获取请求造成资源浪费,通常采用单一请求队列,且不同下载器不能同时处理同一请求队列中相同站点的爬虫请求,因此,当同一队列中存在相邻的相同站点的爬虫请求时,可能会导致队列中的请求不能及时出队,造成下载资源的浪费。

技术实现思路

[0004]本公开实施例至少提供一种数据获取方法、装置、电子设备和存储介质。
[0005]第一方面,本公开实施例提供了一种数据获取方法,包括:
[0006]响应于数据获取请求,基于所述数据获取请求指示的资源定位标识,确定请求队列描述信息;所述请求队列描述信息中包含域名指示信息;
[0007]将所述数据获取请求存储在与所述请求队列描述信息匹配的请求队列中;
[0008]响应于下载器发送的队列获取指令,将当前存储的各所述请求队列对应的请求队列描述信息发送给所述下载器,以使所述下载器基于当前响应的数据获取请求对应的请求队列描述信息,从各所述请求队列对应的请求队列描述信息中提取目标请求队列描述信息;其中,所述目标请求队列描述信息与所述下载器当前响应中的数据获取请求对应的请求队列描述信息不同;
[0009]响应于所述下载器发送的请求获取指令,从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,并将所述目标数据获取请求发送至所述下载器。
[0010]一种可选的实施方式中,所述基于所述数据获取请求指示的资源定位标识,确定请求队列描述信息;所述请求队列描述信息中包含域名指示信息,包括:
[0011]从所述资源定位标识中,分别提取出所述数据获取请求对应的域名信息、传输协议信息以及端口信息;
[0012]基于所述域名信息、所述传输协议信息以及所述端口信息,确定请求队列描述信息。
[0013]一种可选的实施方式中,所述将所述数据获取请求存储在与所述请求队列描述信息匹配的请求队列中,包括:
[0014]查询与所述请求队列描述信息匹配的请求队列,并将所述数据获取请求存储在查
询到的请求队列中;
[0015]在未能查询到与所述请求队列描述信息匹配的请求队列时,生成与所述请求队列描述信息匹配的请求队列,并将所述数据获取请求存储在生成的请求队列中。
[0016]一种可选的实施方式中,所述从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,包括:
[0017]确定所述目标请求队列的队列类型;所述队列类型包括先进先出队列及优先级队列中的至少一种;
[0018]基于所述队列类型对应的出队方式,从所述目标请求队列中确定出目标数据获取请求。
[0019]一种可选的实施方式中,所述方法还包括:
[0020]通过请求代理模块,获取多个用户对应的请求队列参数;所述请求队列参数包括其对应用户的多个请求队列的请求队列描述信息,以及所述用户的请求队列的队列长度;
[0021]基于获取的所述请求队列参数,更新所述请求代理模块的请求信息;所述请求信息包括多个信息分组,每个信息分组中包括该信息分组对应的请求队列描述信息,以及所述请求队列描述信息对应的请求队列的队列长度;
[0022]所述将当前存储的各请求队列对应的请求队列描述信息发送给所述下载器,包括:
[0023]在所述下载器为所述请求代理模块对应的下载器的情况下,将当前存储的各个信息分组对应的请求队列描述信息发送给所述下载器;
[0024]所述从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,包括:
[0025]在所述目标请求队列存在多个的情况下,确定所述目标请求队列中队列长度最高的目标请求队列;
[0026]从所述队列长度最高的目标请求队列中提取目标数据获取请求。
[0027]一种可选的实施方式中,所述方法还包括:
[0028]通过所述请求代理模块,获取所述请求代理模块对应的其他请求代理模块的请求信息;
[0029]所述基于获取的所述请求队列参数,更新所述请求代理模块的请求信息,包括:
[0030]基于获取的所述请求队列参数,以及,所述其他请求代理模块的请求信息,更新所述请求代理模块的请求信息。
[0031]第二方面,本公开实施例还提供了一种数据获取方法,包括:
[0032]向请求管理系统发送队列获取指令,以使所述请求管理系统反馈当前存储的请求队列对应的请求队列描述信息;所述请求队列中存储有请求队列描述信息相同的数据获取请求;所述请求队列描述信息中包含域名指示信息;
[0033]基于当前执行中的数据获取任务对应的请求队列描述信息,从所述当前存储的请求队列对应的请求队列描述信息中提取目标请求队列描述信息;其中,所述目标请求队列描述信息与所述当前执行中的数据获取任务对应的请求队列描述信息不同;
[0034]向所述请求管理系统发送请求获取指令,以使所述请求管理系统从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,并反
馈所述目标数据获取请求;
[0035]执行所述目标数据获取请求对应的数据获取任务。
[0036]一种可选的实施方式中,所述向请求管理系统发送队列获取指令,包括:
[0037]向所述请求管理系统的请求代理模块发送队列获取指令,以使所述请求管理系统通过所述请求代理模块反馈当前存储的各个信息分组对应的请求队列描述信息;所述信息分组通过多个用户对应的请求队列参数确定;所述请求队列参数包括其对应用户的多个请求队列的请求队列描述信息,以及所述用户的请求队列的队列长度;
[0038]所述向所述请求管理系统发送请求获取指令,包括:
[0039]向所述请求代理模块发送请求获取指令,以使所述请求管理系统通过所述请求代理模块在所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列存在多个的情况下,确定所述目标请求队列中队列长度最高的目标请求队列,并从所述队列长度最高的目标请求队列中提取目标数据获取请求。
[0040]第三方面,本公开实施例还提供一种数据获取装置,包括:
[0041]生成模块,用于响应于数据获取请求,基于所述数据获取请求指示的资源定位标识,确定请求队列描述信息;所述请求队列描述信息中包含域名指示信息;
[0042]存储模块,用于将所述数据获取请求存储在与所述请求队列描述信息匹配的请求队列中;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,其特征在于,包括:响应于数据获取请求,基于所述数据获取请求指示的资源定位标识,确定请求队列描述信息;所述请求队列描述信息中包含域名指示信息;将所述数据获取请求存储在与所述请求队列描述信息匹配的请求队列中;响应于下载器发送的队列获取指令,将当前存储的各所述请求队列对应的请求队列描述信息发送给所述下载器,以使所述下载器基于当前响应的数据获取请求对应的请求队列描述信息,从各所述请求队列对应的请求队列描述信息中提取目标请求队列描述信息;其中,所述目标请求队列描述信息与所述下载器当前响应中的数据获取请求对应的请求队列描述信息不同;响应于所述下载器发送的请求获取指令,从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,并将所述目标数据获取请求发送至所述下载器。2.根据权利要求1所述的方法,其特征在于,所述基于所述数据获取请求指示的资源定位标识,确定请求队列描述信息,包括:从所述资源定位标识中,分别提取出所述数据获取请求对应的域名信息、传输协议信息以及端口信息;基于所述域名信息、所述传输协议信息以及所述端口信息,确定请求队列描述信息。3.根据权利要求1所述的方法,其特征在于,所述将所述数据获取请求存储在与所述请求队列描述信息匹配的请求队列中,包括:查询与所述请求队列描述信息匹配的请求队列,并将所述数据获取请求存储在查询到的请求队列中;在未能查询到与所述请求队列描述信息匹配的请求队列时,生成与所述请求队列描述信息匹配的请求队列,并将所述数据获取请求存储在生成的请求队列中。4.根据权利要求1所述的方法,其特征在于,所述从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,包括:确定所述目标请求队列的队列类型;所述队列类型包括先进先出队列及优先级队列中的至少一种;基于所述队列类型对应的出队方式,从所述目标请求队列中确定出目标数据获取请求。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过请求代理模块,获取多个用户对应的请求队列参数;所述请求队列参数包括其对应用户的多个请求队列的请求队列描述信息,以及所述用户的请求队列的队列长度;基于获取的所述请求队列参数,更新所述请求代理模块的请求信息;所述请求信息包括多个信息分组,每个信息分组中包括该信息分组对应的请求队列描述信息,以及所述请求队列描述信息对应的请求队列的队列长度;所述将当前存储的各所述请求队列对应的请求队列描述信息发送给所述下载器,包括:在所述下载器为所述请求代理模块对应的下载器的情况下,将当前存储的各个信息分组对应的请求队列描述信息发送给所述下载器;
所述从所述请求获取指令指示的目标请求队列描述信息对应的目标请求队列中,提取目标数据获取请求,包括:在所述目标请求队列存在多个的情况下,确定所述目标请求队列中队列长度最高的目标请求队列;从所述队列长度最高的目标请求队列中确定目标数据获取请求。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:通过所述请求代理模块,获取所述请求代理模块对应的其他请求代理模块的请求信息;所述基于获取的所述请求队列参数,更新所述请求代理模块的请求信息,包括:基于获取的所述请求队列参数,以及,所述其他请求代理模块的请求信息,更新所述请求代理模块的请求信息。7.一种数据获取方法,其特征在于,包括:向请求管理系统发送队列获取指令,以使所述请求管理系统反馈当前存储的请求队列对应的请求队列描述信息;所述请求队列中存储有请求队列描述信息相同的数据获取请求;所述请求队列描述信息中包含域名指示信息;基于当前执行中的数据获取...

【专利技术属性】
技术研发人员:陈飞
申请(专利权)人:抖音视界北京有限公司
类型:发明
国别省市:

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

1