[发明专利]基于微服务架构的分布式网络爬虫数据提取系统及方法在审
申请号: | 202010002302.8 | 申请日: | 2020-01-02 |
公开(公告)号: | CN111222027A | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | 葛又嘉;章韵 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F16/9538;G06F16/958;G06F16/31;G06F9/50 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 姚姣阳;杜春秋 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 微服 架构 分布式 网络 爬虫 数据 提取 系统 方法 | ||
1.一种基于微服务架构的分布式网络爬虫数据提取系统,其特征在于:包括数据提取模块、请求预处理模块、数据分布式存储模块和下载模块;数据提取模块,用于将下载下来的页面信息根据用户指定的数据提取规则从中提取出指定信息;请求预处理模块,用于通过负载均衡算法将爬虫任务请求投递至消息队列中;数据分布式存储模块,用于将解析后的页面数据存放至数据库中;下载模块,用于从消息队列中取出相应的爬虫任务,从数据池中取出相应数据组装成完整的爬虫请求,通过模块中的多线程下载器开启下载,并将下载得到的页面信息写入消息队列中。
2.一种基于微服务架构的分布式网格爬虫数据提取方法,其特征在于,包括以下步骤:
S01、用户在可视化界面提交爬虫任务数据;
S02、请求预处理模块采用负载均衡算法将爬虫任务信息投递至消息队列;
S03、将页面提取规则以及步骤S02中生成的全局唯一ID作为缓存对象缓存至内存数据库中;
S04、下载模块根据任务信息抓取页面数据;
S05、将下载模块抓取到的页面信息写入消息队列中,同时更新爬虫任务状态;
S06、页面解析模块从消息队列中提取页面信息,然后使用jsoup进行解析,并将解析后的数据存储到数据库中;
S07、爬虫控制台可视化数据展示。
3.根据权利要求2所述基于微服务架构的分布式网格爬虫数据提取方法,其特征在于,在步骤S01中,用户从可视化界面上输入指定爬取的URL路径,同时用户确定该类型页面所要提取的字段属性及提取规则,指定爬取的URL路径以及该类型页面所要提取的字段属性和提取规则等组成爬虫任务数据。
4.根据权利要求2所述基于微服务架构的分布式网格爬虫数据提取方法,其特征在于,在步骤S02中,请求预处理模块获取对应的请求体信息,并在请求预处理模块对该请求进行过滤,然后将URL路径信息以及生成的一个全局唯一ID写入消息队列,依赖负载均衡算法将请求分散到不同机器上。
5.根据权利要求2所述基于微服务架构的分布式网格爬虫数据提取方法,其特征在于,在步骤S04中,下载模块作为消费端从消息队列中不断获取到爬取页面信息,并根据该信息的URL类型从cookie池和user-agent池获取到对应的数据,同URL组合成完成的请求头数据,在下载模块中内置了一个线程池,可以开启多线程下载,最大程度上利用机器资源。
6.根据权利要求2所述基于微服务架构的分布式网格爬虫数据提取系统及方法,其特征在于,在步骤S06中,页面解析模块从消息队列中获取步骤S04抓取到的页面信息,并且页面解析模块从Redis(键值对类型数据库)中根据ID取出该页面对应的数据提取规则,使用jsoup(html文本解析工具)进行解析,并将解析后的数据储到MongoDB文档型数据库中。
7.根据权利要求2所述基于微服务架构的分布式网格爬虫数据提取方法,其特征在于,在步骤S07中,用户在可视化界面上看到各自爬虫任务的运行状况和数据提取结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010002302.8/1.html,转载请声明来源钻瓜专利网。