数据采集方法和装置、计算机可读存储介质、电子设备制造方法及图纸

技术编号:27220132 阅读:24 留言:0更新日期:2021-02-04 11:39
本公开实施例公开了一种数据采集方法和装置、计算机可读存储介质、电子设备,其中,方法包括:确定需要更新的至少一个待处理任务,并将所述至少一个待处理任务存入至少一个缓存队列;从所述至少一个缓存队列中获取n个待处理任务,同时对获取的所述n个待处理任务进行处理,得到更新数据;其中,所述n为大于等于1的整数;对得到的所述更新数据进行解析处理,得到结构化数据并存储;通过同时对n个待处理任务进行处理,提高了数据采集的效率。提高了数据采集的效率。提高了数据采集的效率。

【技术实现步骤摘要】
数据采集方法和装置、计算机可读存储介质、电子设备


[0001]本公开涉及数据采集技术,尤其是一种数据采集方法和装置、计算机可读存储介质、电子设备。

技术介绍

[0002]进行大规模数据的抓取,架构设计较为重要,现有的架构要么针对性太强,要么太过于通用,会涉及到很多其他的问题,例如,反爬策略应对,代理使用设计,重复抓取过滤等等。开源分布式爬虫也较为常见,缺点就是定制性较差,特别是对于集群的管理,服务器资源的利用,都非常的薄弱,不能很好的满足多变的爬取需求和提供大量数据处理。

技术实现思路

[0003]为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种数据采集方法和装置、计算机可读存储介质、电子设备。
[0004]根据本公开实施例的一个方面,提供了一种据采集方法,包括:
[0005]确定需要更新的至少一个待处理任务,并将所述至少一个待处理任务存入至少一个缓存队列;
[0006]从所述至少一个缓存队列中获取n个待处理任务,同时对获取的所述n个待处理任务进行处理,得到更新数据;其中,所述n为大于等于1的整数;
[0007]对得到的所述更新数据进行解析处理,得到结构化数据并存储。
[0008]可选地,所述确定需要更新的至少一个待处理任务,并将所述至少一个待处理任务存入至少一个缓存队列,包括:
[0009]从任务集合中确定满足更新条件的至少一个任务作为所述待处理任务;其中,所述任务集合包括多个任务;
[0010]按照所述至少一个待处理任务的任务类型将所述至少一个待处理任务分配到所述至少一个缓存队列;其中,每个所述缓存队列对应一个任务类型。
[0011]可选地,所述更新条件包括以下至少一种:
[0012]响应于接收到对所述至少一个任务进行更新的外部更新请求;
[0013]响应于当前时间与所述任务的历史更新时间的时间差达到预设时间差。
[0014]可选地,每个所述待处理任务对应不同的预设优先级;
[0015]所述按照所述至少一个待处理任务的任务类型将所述至少一个待处理任务分配到所述至少一个缓存队列,包括:
[0016]将属于同一任务类型的所述至少一个待处理任务按照所述预设优先级进行排序;
[0017]按照所述排序的顺序将所述至少一个待处理任务存入所述任务类型对应的所述缓存队列。
[0018]可选地,所述从所述至少一个缓存队列中获取n个待处理任务,同时对获取的所述n个待处理任务进行处理,得到更新数据,包括:
[0019]同步获取n个所述待处理任务;
[0020]基于所述n个待处理任务从代理池获取n个代理服务;其中,所述代理池中至少包括n个代理服务;
[0021]基于所述n个代理服务分别从不同路径获取所述n个待处理任务对应的更新数据。
[0022]可选地,所述同步获取n个所述待处理任务,包括:
[0023]在工作池中建立n个工作单元,每间隔设定时间对所述n个工作单元进行扫描,以使所述工作池中的n个工作单元都能正常工作;
[0024]通过所述工作池中的n个工作单元同时获取n个所述待处理任务。
[0025]可选地,所述基于所述n个代理服务分别从不同路径获取所述n个待处理任务对应的更新数据,包括:
[0026]基于所述n个待处理任务确定至少一个关键词;其中,每个所述待处理任务对应至少一个关键词;
[0027]所述n个代理服务中的每个代理服务分别基于所述待处理任务对应的至少一个关键词获取更新数据。
[0028]可选地,在基于所述n个代理服务分别从不同路径获取所述n个待处理任务对应的更新数据之前,还包括:
[0029]获取所述n个代理服务中每个代理服务的有效期;
[0030]基于所述有效期确定所述n个代理服务中每个代理服务是否有效;
[0031]响应于所述n个代理服务中每个代理服务都有效,以所述n个代理服务获取更新数据;
[0032]响应于所述n个代理服务中存在至少一个代理服务无效,重新获取新的代理服务替换无效的代理服务,以更新后的n个代理服务获取更新数据。
[0033]可选地,在对得到的所述更新数据进行解析处理,得到结构化数据并存储之前,还包括:
[0034]将所述更新数据存入第一数据库;
[0035]所述对得到的所述更新数据进行解析处理,得到结构化数据并存储,包括:
[0036]对所述第一数据库中的所述更新数据进行结构化处理,将得到的所述结构化数据存入第二数据库。
[0037]可选地,还包括:
[0038]获取所述至少一个待处理任务的更新结果;其中,所述更新结果包括更新成功、更新失败和更新异常;
[0039]统计所述更新成功的次数、所述更新失败的次数和所述更新异常的次数,并保存统计结果。
[0040]可选地,还包括:
[0041]展示所述统计结果,并在所述统计结果中所述更新异常的次数超出所述待处理任务的数量中的设定比例时,发出告警信息。
[0042]根据本公开实施例的另一方面,提供了一种数据采集装置,包括:
[0043]调度模块,用于确定需要更新的至少一个待处理任务,并将所述至少一个待处理任务存入至少一个缓存队列;
[0044]采集模块,用于从所述至少一个缓存队列中获取n个待处理任务,同时对获取的所述n个待处理任务进行处理,得到更新数据;其中,所述n为大于等于1的整数;
[0045]解析模块,用于对得到的所述更新数据进行解析处理,得到结构化数据并存储。
[0046]可选地,所述调度模块、所述采集模块和所述解析模块分别在至少一个容器中执行;
[0047]还包括:
[0048]集群管理模块,用于对所述多个容器进行管理。
[0049]可选地,所述调度模块,具体用于从任务集合中确定满足更新条件的至少一个任务作为所述待处理任务;其中,所述任务集合包括多个任务;按照所述至少一个待处理任务的任务类型将所述至少一个待处理任务分配到所述至少一个缓存队列;其中,每个所述缓存队列对应一个任务类型。
[0050]可选地,所述更新条件包括以下至少一种:
[0051]响应于接收到对所述至少一个任务进行更新的外部更新请求;
[0052]响应于当前时间与所述任务的历史更新时间的时间差达到预设时间差。
[0053]可选地,每个所述待处理任务对应不同的预设优先级;
[0054]所述调度模块在按照所述至少一个待处理任务的任务类型将所述至少一个待处理任务分配到所述至少一个缓存队列时,用于将属于同一任务类型的所述至少一个待处理任务按照所述预设优先级进行排序;按照所述排序的顺序将所述至少一个待处理任务存入所述任务类型对应的所述缓存队列。
[0055]可选地,所述采集模块,具体用于同步获取n个所述待处理任务;基于所述n个待处理任务从代理池获取n个代理服务;其中,所述代理池中至少包括n个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据采集方法,其特征在于,包括:确定需要更新的至少一个待处理任务,并将所述至少一个待处理任务存入至少一个缓存队列;从所述至少一个缓存队列中获取n个待处理任务,同时对获取的所述n个待处理任务进行处理,得到更新数据;其中,所述n为大于等于1的整数;对得到的所述更新数据进行解析处理,得到结构化数据并存储。2.根据权利要求1所述的方法,其特征在于,所述确定需要更新的至少一个待处理任务,并将所述至少一个待处理任务存入至少一个缓存队列,包括:从任务集合中确定满足更新条件的至少一个任务作为所述待处理任务;其中,所述任务集合包括多个任务;按照所述至少一个待处理任务的任务类型将所述至少一个待处理任务分配到所述至少一个缓存队列;其中,每个所述缓存队列对应一个任务类型。3.根据权利要求2所述的方法,其特征在于,所述更新条件包括以下至少一种:响应于接收到对所述至少一个任务进行更新的外部更新请求;响应于当前时间与所述任务的历史更新时间的时间差达到预设时间差。4.根据权利要求2或3所述的方法,其特征在于,每个所述待处理任务对应不同的预设优先级;所述按照所述至少一个待处理任务的任务类型将所述至少一个待处理任务分配到所述至少一个缓存队列,包括:将属于同一任务类型的所述至少一个待处理任务按照所述预设优先级进行排序;按照所述排序的顺序将所述至少一个待处理任务存入所述任务类型对应的所述缓存队列。5.根据权利要求1-4任一所述的方法,其特征在于,所述从所述至少一个缓存队列中获取n个待处理任务,同时对获取的所述n个待处理任务进行处理,得到更新数据,包括:获取n个所述待处理任务;基于所述n个待处理任务从代理池获取n个代理服务;其中,所述代理池中至少包括n个代理服务;基于所述n个代理服务分别从不同路径获取所述n个待处理任务对应的更新数据。6.根据权利要求5所述的方法,其特征在于,所述获取n个所述待处理任务,包括:在工作池中建立n个工作单元,每间隔设定时间对所述n个工作单元进行扫描,以使所述工作池中的n个工作单元都能正常工作;通过所述工作池中的n个工作单元同时获取n个所述待处理任务。7.根据权利要求5或6所述的方法,其特征在于,所述基于所述n个代理服务分别从不同路径获取所述n个待处理任务对应的更新数据,包括:基于所述n个待处理任务确定至少一个关键词;其中,每个所述待处理任务对应至少一个关键词;所述n个代理服务中的每个代理服务分别基于所述待处理任务对应的至...

【专利技术属性】
技术研发人员:徐鸣辉
申请(专利权)人:北京金堤征信服务有限公司
类型:发明
国别省市:

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

1