[发明专利]一种异步爬虫系统及数据爬取方法在审
申请号: | 202010171572.1 | 申请日: | 2020-03-12 |
公开(公告)号: | CN111400574A | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 周坤朋;秦曼;王连军 | 申请(专利权)人: | 郑州悉知信息科技股份有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 杨华 |
地址: | 450000 河南省郑*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 爬虫 系统 数据 方法 | ||
本申请提供了一种异步爬虫系统及数据爬取方法,其中,异步爬虫系统包括业务层模块和服务层模块;业务层模块在接收到来自终端的爬虫需求时,根据爬虫需求生成爬虫请求,将生成的爬虫请求进行缓存;服务层模块从已缓存的爬虫请求中取爬虫请求至Celery队列;利用Celery系统的多个任务执行单元并行爬取Celery队列中多个爬虫请求分别对应的数据,并将针对每个爬虫请求爬取的数据进行整合,以获得每个爬虫请求对应的目标数据;以及利用Celery系统将每个爬虫请求对应的目标数据返回给业务层模块,以供终端从业务层模块获取。本申请能够大大提高数据爬取效率,且当面对源源不断的爬虫需求时,能够快速地进行响应。
技术领域
本申请涉及数据爬取技术领域,尤其涉及一种异步爬虫系统及数据爬取方法。
背景技术
目前的数据爬取方法都是非异步的,即,终端产生爬虫需求信息给服务器,等待服务器进行响应,服务器在获得爬虫需求信息后,做爬虫准备,调用爬虫方法,执行爬虫方法爬取数据,将爬取的数据响应给终端。现有的数据爬取方法的爬取效率较低,并且,当终端产生源源不断的爬虫需求信息时,服务器侧会因爬虫需求信息大而阻塞,进而影响服务。
发明内容
有鉴于此,本申请提供了一种异步爬虫系统及数据爬取方法,用以解决现有技术中的数据爬取方法的爬取效率较低,并且,当终端产生源源不断的爬虫需求信息时,服务器侧会因爬虫需求信息大而阻塞,进而影响服务的问题,其技术方案如下:
一种异步爬虫系统,包括:业务层模块和服务层模块;
所述业务层模块,用于当接收到来自终端的爬虫需求信息时,根据所述爬虫需求信息生成爬虫请求,并将生成的爬虫请求进行缓存;
所述服务层模块,用于从已缓存的爬虫请求中取爬虫请求至Celery任务队列中;利用Celery系统的多个任务执行单元并行爬取所述Celery任务队列中多个爬虫请求分别对应的数据;利用所述Celery系统将针对每个爬虫请求爬取的数据进行整合,以获得每个爬虫请求对应的目标数据;以及利用所述Celery系统将每个爬虫请求对应的目标数据返回给所述业务层模块,以供所述终端从所述业务层模块获取。
可选的,所述服务层模块在利用所述Celery系统的一任务执行单元爬取一爬虫请求对应的数据时,具体用于:
利用所述Celery系统的该任务执行单元并行地从多个数据爬取途径爬取该爬虫请求对应的数据。
可选的,所述服务层模块在利用所述Celery系统的该任务执行单元并行地从多个数据爬取途径爬取该爬虫请求对应的数据时,具体用于:
通过调用gevent协程包,加载爬虫任务,并行地从多个数据爬取途径爬取该爬虫请求对应的数据;
其中,一个爬虫任务对应一个数据爬取途径,任一爬取任务用于从对应的数据爬取途径爬取数据。
可选的,所述爬虫请求中至少包括:目标词和回调地址,所述爬虫请求用于请求爬取与所述目标词相关的词;
所述服务层模块在利用所述Celery系统将每个爬虫请求对应的目标数据返回给所述业务层模块时,具体用于:
根据每个爬虫请求中的回调地址,将每个爬虫请求对应的目标数据返回给所述业务层模块。
可选的,所述爬虫请求中还包括:词库标识;
所述业务层模块,还用于在获得每个爬虫请求对应的目标数据后,将每个爬虫请求对应的目标数据存入对应爬虫请求中的词库标识对应的词库中。
一种数据爬取方法,应用于服务器,所述服务器包括业务层模块和服务层模块,所述方法包括:
当接收到来自终端的爬虫需求信息时,利用所述业务层模块和所述爬虫需求信息生成爬虫请求,并将生成的爬虫请求进行缓存;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州悉知信息科技股份有限公司,未经郑州悉知信息科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010171572.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置