[发明专利]一种网络爬虫方法及装置有效
| 申请号: | 201510609537.2 | 申请日: | 2015-09-22 |
| 公开(公告)号: | CN105260405B | 公开(公告)日: | 2019-08-16 |
| 发明(设计)人: | 罗杰;梁家盟 | 申请(专利权)人: | 北京云知声信息技术有限公司 |
| 主分类号: | G06F16/951 | 分类号: | G06F16/951 |
| 代理公司: | 北京尚伦律师事务所 11477 | 代理人: | 张俊国 |
| 地址: | 100191 北京市海*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 网络 爬虫 方法 装置 | ||
本发明公开了一种网络爬虫方法及装置,用于解除网络爬虫任务中相邻执行阶段之间的耦合性,从而实现网络爬虫的每个执行阶段的模块化。所述方法包括:获取网络爬虫任务的配置文件,配置文件包括网络爬虫任务的每一个执行阶段的标识、每一个执行阶段的执行顺序及每一个执行阶段对应的配置参数;根据每一个执行阶段的标识以及每一个执行阶段的执行顺序,确定网络爬虫的当前执行阶段;获取当前执行阶段的输入数据;根据当前执行阶段对应的配置参数和输入数据执行当前执行阶段。该技术方案解除了网络爬虫任务中相邻执行阶段之间的耦合性,使每个执行阶段的执行更加模块化,提高了网络爬虫的效率。
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络爬虫方法及装置。
背景技术
爬虫作为一种自动获取网页内容的程序,是搜索引擎的重要组成部分。网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。具体的爬虫任务一般分为下载、抽取、清洗、存储四个阶段,且每个阶段都有各自的输入输出,也就是说,不同阶段的输入或输出的内容、格式均有所不同,从而导致爬虫的过程不可分割,必须按照既定的阶段顺序执行,相邻两个阶段之间的耦合性较大,且网络爬虫的代码重用性低。
发明内容
本发明实施例提供一种网络爬虫方法及装置,用于解除网络爬虫任务中相邻执行阶段之间的耦合性,从而实现网络爬虫的每个执行阶段的模块化。
一种网络爬虫方法,包括以下步骤:
获取网络爬虫任务的配置文件,所述配置文件包括所述网络爬虫任务的每一个执行阶段的标识、所述每一个执行阶段的执行顺序及所述每一个执行阶段对应的配置参数;
根据所述每一个执行阶段的标识以及所述每一个执行阶段的执行顺序,确定所述网络爬虫的当前执行阶段;
获取所述当前执行阶段的输入数据,所述输入数据为所述当前执行阶段之前的上一个执行阶段的输出数据,所述输入数据或所述输出数据是通过预设的输入输出接口格式进行输入或输出的;
根据所述当前执行阶段对应的配置参数和所述输入数据执行所述当前执行阶段。
本发明实施例的一些有益效果可以包括:
上述技术方案,通过确定网络爬虫任务的当前执行阶段,并将上一个执行阶段的输出数据作为当前执行阶段的输入数据,且输入数据和输出数据都是通过预设的输入输出接口格式进行输入或输出的,使得每个执行阶段的输入输出接口格式唯一,从而使每个执行阶段的输出数据都可通过预设的输入输出接口格式作为任意一个执行阶段的输入数据,解除了网络爬虫任务中相邻执行阶段之间的耦合性,使每个执行阶段的执行更加模块化,提高了网络爬虫的效率。
在一个实施例中,所述当前执行阶段的输入数据包括所述网络爬虫任务的配置文件和所述上一个执行阶段的执行结果数据。
该实施例使得当前执行阶段能够根据输入数据中的配置文件以及上一个执行阶段的执行结果数据来执行,从而确保上一个执行阶段的输出数据能够作为当前执行阶段的输入数据传递给当前执行阶段,以提高网络爬虫的效率。
在一个实施例中,所述根据所述当前执行阶段对应的配置参数和所述输入数据执行所述当前执行阶段之后,所述方法还包括:
生成包括所述当前执行阶段的执行结果数据的输出数据。
该实施例中,通过生成包括当前执行阶段的执行结果数据的输出数据,从而使得当前执行阶段的输出数据能够作为下一个执行阶段的输入数据传递给下一个执行阶段,并且下一个执行阶段能够利用输入数据中当前执行阶段的执行结果来执行,从而提高网络爬虫的效率。
在一个实施例中,所述根据所述当前执行阶段对应的配置参数和所述输入数据执行所述当前执行阶段,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京云知声信息技术有限公司,未经北京云知声信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510609537.2/2.html,转载请声明来源钻瓜专利网。





