[发明专利]一种通过爬虫状态机管理爬虫的方法及装置在审
申请号: | 201711105662.5 | 申请日: | 2017-11-10 |
公开(公告)号: | CN107943866A | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 郭建辉 | 申请(专利权)人: | 天脉聚源(北京)传媒科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/48 |
代理公司: | 北京尚伦律师事务所11477 | 代理人: | 张亮 |
地址: | 100007 北京市东城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 爬虫 状态机 管理 方法 装置 | ||
技术领域
本发明涉及爬虫技术领域,特别涉及一种通过爬虫状态机管理爬虫的方法及装置。
背景技术
爬虫在完成最终任务的过程中会经历多个阶段。其中,每一个阶段需要进行若干个爬虫任务才可完成该阶段。状态机简写为FSM(Finite State Machine),由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。状态机主要分为2大类:第一类,若输出只和状态有关而与输入无关,则称为Moore状态机;第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机。在准确的监控爬虫的进展情况的方面,现有技术中缺乏妥善的解决方案。如何妥善的处理上述问题,就成为了业界亟待解决的课题。
发明内容
本发明提供一种通过爬虫状态机管理爬虫的方法及装置,用以使得用户可直观的观测到爬虫的运行情况,也方便了相关的技术人员针对性的调整爬虫策略,从而提升了用户和技术人员的使用体验。
根据本发明实施例的第一方面,提供一种通过爬虫状态机管理爬的方法,包括:
根据预设的爬虫规则生成爬虫状态机;
将爬虫工作分解为多个阶段;
运行所述各个阶段的爬虫工作对应的爬虫任务;
在当前阶段的爬虫任务结束后,更新所述爬虫状态机的当前阶段的状态;
在所述爬虫状态机的当前阶段满足预设的完成条件时,运行下一个阶段的爬虫工作对应的爬虫任务。
在一个实施例中,所述将由爬虫工作分解为多个阶段,包括:
将由所述预设的爬虫规则生成的爬虫工作分解为多个阶段;
将所述爬虫工作的多个阶段中的各个阶段与所述爬虫状态机中的各个状态形成一一映射关系。
在一个实施例中,所述运行所述各个阶段的爬虫工作对应的爬虫任务,包括:
分析出所述各个阶段的爬虫工作的先后执行顺序;
按照所述各个阶段的先后执行顺序,来运行各个阶段对应的爬虫工作对应的爬虫任务,所述爬虫任务的数量至少为一个。
在一个实施例中,所述在当前阶段的爬虫任务结束后,更新所述爬虫状态机的当前阶段的状态,包括:
运行与当前阶段相应的爬虫任务来完成当前阶段;
在所述当前阶段相应的爬虫任务全部运行完成后,更新当前阶段的状态。
在一个实施例中,所述在所述爬虫状态机的当前阶段满足预设的完成条件时,运行下一个阶段的爬虫工作对应的爬虫任务,包括:
实时检测更新后的爬虫状态机的当前阶段的状态;
若更新后的爬虫状态机的当前阶段为未完成状态时,针对所述当前阶段再次生成新的爬虫任务并运行;
当所述爬虫状态机的当前阶段为完成状态时,继续运行下一个阶段的爬虫工作对应的爬虫任务,直至爬虫状态机的所有阶段全部为完成状态。
根据本发明实施例的第二方面,提供一种通过爬虫状态机管理爬虫的装置,包括:
生成模块,用于根据预设的爬虫规则生成爬虫状态机;
分解模块,用于将爬虫工作分解为多个阶段;
运行模块,用于运行所述各个阶段的爬虫工作对应的爬虫任务;
更新模块,用于在当前阶段的爬虫任务结束后,更新所述爬虫状态机的当前阶段的状态;
运行模块,用于在所述爬虫状态机的当前阶段满足预设的完成条件时,运行下一个阶段的爬虫工作对应的爬虫任务。
在一个实施例中,所述分解模块,包括:
第一生成子模块,用于将由所述预设的爬虫规则生成的爬虫工作分解为多个阶段;
映射子模块,用于将所述爬虫工作的多个阶段中的各个阶段与所述爬虫状态机中的各个状态形成一一映射关系。
在一个实施例中,所述运行模块,包括:
分析子模块,用于分析出所述各个阶段的爬虫工作的先后执行顺序;
第一运行子模块,用于按照所述各个阶段的先后执行顺序,来运行各个阶段对应的爬虫工作对应的爬虫任务,所述爬虫任务的数量至少为一个。
在一个实施例中,所述更新模块,包括:
第二运行子模块,用于运行与当前阶段相应的爬虫任务来完成当前阶段;
更新子模块,用于在所述当前阶段相应的爬虫任务全部运行完成后,更新当前阶段的状态。
在一个实施例中,所述运行模块,包括:
检测子模块,用于实时检测更新后的爬虫状态机的当前阶段的状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天脉聚源(北京)传媒科技有限公司,未经天脉聚源(北京)传媒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711105662.5/2.html,转载请声明来源钻瓜专利网。