[发明专利]分布式爬虫实现方法和装置在审
申请号: | 202011573515.2 | 申请日: | 2020-12-25 |
公开(公告)号: | CN112597372A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 任亮;傅雨梅;徐林;文齐辉 | 申请(专利权)人: | 北京知因智慧科技有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F11/20 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 张萌 |
地址: | 100000 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 爬虫 实现 方法 装置 | ||
本发明提供了一种分布式爬虫实现方法和装置,涉及爬虫应用技术领域,包括创建爬虫任务,并根据爬虫任务中的采集任务和解析任务分别确定对应分布的部署节点,其中,爬虫任务包括至少一个;启动爬虫任务,基于预先确定的警告规则和质量检测规则分别对采集任务和解析任务进行监控;若监控状态异常,则发出警告,并重新对爬虫任务进行分布部署;若监控状态正常,则持续运行爬虫任务,并将爬取数据写入数据库,通过分布式节点部署,在提高多个爬取任务速度的同时,还对爬取任务的状态进行监控,同时保证数量和质量。
技术领域
本发明涉及爬虫应用技术领域,尤其是涉及一种分布式爬虫实现方法和装置。
背景技术
通用网络爬虫是搜索引擎抓取系统的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。通用网络爬虫从互联网中搜集网页、采集信息,这些网页信息用于为搜索引擎建立索引从而提供支持,它决定着整个引擎系统的内容是否丰富,信息是否即时,因此其性能的优劣直接影响着搜索引擎的效果。
当前开源的爬虫管理平台主要是实现部署功能,如利用开发语言python语言写的爬虫监控Spider Keeper,爬虫管理平台crawlab等。当爬取任务较大时,分布式部署可以明显的提高爬取速度,他们更多实现的是基于web页面去部署爬虫,点击启动,停止等去管理爬虫。但发明人经研究发现,当某个网站反爬策略变更时,爬虫总是爬取失败,页面上爬虫的状态会更新为退出,并不会及时通知爬虫的维护者,对一些数据实时性要求较高的任务来说,这样显然具有较大的不利影响。
发明内容
本发明的目的在于提供一种分布式爬虫实现方法和装置,通过分布式节点部署,在提高多个爬取任务速度的同时,还对爬取任务的状态进行监控,同时保证数量和质量。
第一方面,本发明实施例提供了一种分布式爬虫实现方法,所述方法包括:
创建爬虫任务,并根据所述爬虫任务中的采集任务和解析任务分别确定对应分布的部署节点,其中,所述爬虫任务包括至少一个;
启动所述爬虫任务,基于预先确定的警告规则和质量检测规则分别对所述采集任务和所述解析任务进行监控;
若监控状态异常,则发出警告,并重新对所述爬虫任务进行分布部署;
若监控状态正常,则持续运行所述爬虫任务,并将爬取数据写入数据库。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述方法还包括:
根据所述数据库统计爬取数量和爬取速度,并进行可视化展示。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,根据所述爬虫任务中的采集任务和解析任务分别确定对应分布的部署节点的步骤,包括:
确定所述爬虫任务的任务类型;
将所述爬虫任务中IO密集型的采集任务分布式部署在采集器的多个节点,将所述爬虫任务中CPU密集型的解析任务分布式部署在解析器的多个节点,其中,每个所述节点共享消息队列中的任务信息。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,基于预先确定的警告规则和质量检测规则分别对所述采集任务和所述解析任务进行监控的步骤,包括:
基于预先确定的警告规则和质量检测规则对所述采集任务的状态进行监控;
或者,
基于预先确定的警告规则和质量检测规则对所述解析任务的状态进行监控;
或者,
基于预先确定的警告规则和质量检测规则对所述采集任务和所述解析任务的状态进行监控。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京知因智慧科技有限公司,未经北京知因智慧科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011573515.2/2.html,转载请声明来源钻瓜专利网。