一种网络爬虫率的自动化测试方法及装置转让专利

申请号 : CN201510957702.3

文献号 : CN105630673B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐香联

申请人 : 北京锐安科技有限公司

摘要 :

本发明实施例公开了一种网络爬虫率的自动化测试方法及装置。该方法包括:访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接;对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中;依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率。本发明实施例中的技术方案,相比于现有技术手动验证爬虫程序的性能,提高了对爬虫程序的测试效率。

权利要求 :

1.一种网络爬虫率的自动化测试方法,其特征在于,包括:网络爬虫率的自动化测试装置访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接;

所述自动化测试装置对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中;

所述自动化测试装置依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率;

所述自动化测试装置对所述候选链接进行筛选,以得到目标链接之后,还包括:所述自动化测试装置将所述目标链接的标题和/或URL地址存储到excel表格中;

所述自动化测试装置对所述候选链接进行筛选,以得到目标链接,包括:所述自动化测试装置依据从所述爬虫程序的模板库中得到的正则表达式,对候选链接进行筛选,以得到目标链接。

2.根据权利要求1所述的方法,其特征在于,所述自动化测试装置依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率,包括:所述自动化测试装置针对所述测试工具中导入的每一目标链接,确定是否有与该目标链接的标题或URL地址匹配的爬虫结果数据,若有,则对匹配参数加1,其中初始匹配参数为

0;

所述自动化测试装置依据所述目标链接的总数量和所述匹配参数的取值,确定爬虫程序的爬全率。

3.根据权利要求2所述的方法,其特征在于,所述自动化测试装置依据所述目标链接的数量和所述匹配参数的取值,确定爬虫程序的爬全率,包括:所述自动化测试装置依据如下公式,计算爬虫程序的爬全率:k=n/m,其中k为爬全率,n为匹配参数的取值,m为所述目标链接的总数量。

4.一种网络爬虫率的自动化测试装置,其特征在于,包括:候选链接模块,用于访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接;

目标链接模块,用于对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中;

爬全率模块,用于依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率;

所述自动化测试装置还包括:

目标链接存储模块,用于对所述候选链接进行筛选,以得到目标链接之后,将所述目标链接的标题和URL地址存储到excel表格中;

目标链接模块具体用于:

依据从所述爬虫程序的模板库中得到的正则表达式,对候选链接进行筛选,以得到目标链接。

5.根据权利要求4所述的装置,其特征在于,所述爬全率模块包括:匹配参数单元,用于针对所述测试工具中导入的每一目标链接,确定是否有与该目标链接的标题或URL地址匹配的爬虫结果数据,若有,则对匹配参数加1,其中初始匹配参数为

0;

爬全率单元,用于依据所述目标链接的总数量和所述匹配参数的取值,确定爬虫程序的爬全率。

6.根据权利要求5所述的装置,其特征在于,所述爬全率单元具体用于:依据如下公式,计算爬虫程序的爬全率:

k=n/m,其中k为爬全率,n为匹配参数的取值,m为所述目标链接的总数量。

说明书 :

一种网络爬虫率的自动化测试方法及装置

技术领域

[0001] 本发明实施例涉及软件测试技术领域,尤其涉及一种网络爬虫率的自动化测试方法及装置。

背景技术

[0002] 近年来,我国互联网用户呈爆发式增长,各种网站论坛如雨后春笋般蓬勃发展。面对如此海量的信息,需要对有价值的数据进行提取筛选,政府可以用于舆情分析、网络安全监控;企业可以用于市场调研、媒体分析。
[0003] 在信息爆发式增长的大环境下,网页爬虫技术显得尤为重要。爬虫程序能否及时爬取想要的信息,爬取的网页数据是否完整,信息是否正确,是体现产品性能的重要指标。但是手动验证成千上万个网页的数据是否爬取及时、全面、正确,是否全部入库,费时费力,因此迫切需要一种能够自动化测试网页爬虫爬全率的测试方法,以提高对爬虫程序的测试效率。

发明内容

[0004] 本发明提供一种网络爬虫率的自动化测试方法及装置,以提高对爬虫程序的测试效率。
[0005] 第一方面,本发明实施例提供了一种网络爬虫率的自动化测试方法,包括:
[0006] 访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接;
[0007] 对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中;
[0008] 依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率。
[0009] 第二方面,本发明实施例提供了一种网络爬虫率的自动化测试装置,包括:
[0010] 候选链接模块,用于访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接;
[0011] 目标链接模块,用于对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中;
[0012] 爬全率模块,用于依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率。
[0013] 本发明实施例提供的技术方案,通过访问爬虫程序的爬虫种子库中种子网址关联的网页,从网页的链接属性中筛选出目标链接,依据目标链接和爬虫程序的爬虫结果数据,确定爬虫程序的爬全率,相比于现有技术手动验证爬虫程序的性能,提高了对爬虫程序的测试效率。

附图说明

[0014] 图1a是本发明实施例一中的一种网络爬虫率的自动化测试方法的流程图;
[0015] 图1b是本发明实施例一中的种子网址以及正则表达式的示意图;
[0016] 图1c是本发明实施例一中的目标链接关联的匹配结果的示意图;
[0017] 图1d是本发明实施例一中的excel格式的目标链接示意图;
[0018] 图2是本发明实施例二中的一种网络爬虫率的自动化测试方法的流程图;
[0019] 图3是本发明实施例三中的一种网络爬虫率的自动化测试装置的结构示意图。

具体实施方式

[0020] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0021] 实施例一
[0022] 图1a是本发明实施例一中的一种网络爬虫率的自动化测试方法的流程图。该方法可以由网络爬虫率的自动化测试装置来执行,该装置可通过硬件和/或软件的方式实现,可配置于测试机中,所述测试机中安装有自动化测试工具(如QuickTest Professional)、数据库(如Oracle数据库或全文库)和浏览器。
[0023] 如图1a所示,所述方法具体包括如下步骤:
[0024] 步骤11、访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接。
[0025] 在本实施例中,爬虫程序是按照一定的规则,自动地抓取万维网信息的程序或者脚本,种子网址指的是爬虫程序要抓取信息所属网站的网址,参考图1b,若爬虫程序需要爬取100个新闻网站或论坛网站的信息,如爬取新闻、博客或论坛等信息,则种子网址包含100个新闻网站或论坛网站的网址。种子网址存储于爬虫种子库中。网页的链接属性指的是网页包含的文章、新闻、博文或帖子的链接,如针对种子网址tieba.baidu.com,关联的网页为百度贴吧论坛,百度贴吧论坛包含的帖子的链接构成链接属性。
[0026] 具体的,从爬虫程序的爬虫种子库中获取种子网址,通过浏览器(如IE浏览器)访问种子网址关联的网页,并从网页的链接属性中获取设定数值个候选链接,其中设定数值可以根据测试需求进行设定,如设定数值可以为30。
[0027] 步骤12、对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中。
[0028] 优选的,对所述候选链接进行筛选,以得到目标链接,包括:依据从所述爬虫程序的模板库中得到的正则表达式,候选链接进行筛选,以得到目标链接,其中模块库用于存储种子地址关联的字段以及正则表达式,正则表达式指的是过滤ID(参考图1b),用于标题过滤。本实施例中采用爬虫程序的正则表达式对候选链接进行筛选以得到目标链接,如筛选出8条目标链接,从而提高了候选依据目标链接确定爬全率的准确度。需要说明的是,也可以按照除正则表达式外的筛选规则对候选链接进行筛选,其中筛选规则可以根据测试需求进行设定。
[0029] 并且,还将得到的目标链接导入到测试工具中,如导入到测试工具QuickTest Professional中数据表的查询框(DataTable:Query)中。
[0030] 步骤13、依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率。
[0031] 在本实施例中,爬虫结果数据指的是爬虫程序抓取的数据。具体的,可以依据目标链接与爬虫结果数据之间的匹配度,确定爬虫程序的爬全率,参考图1c,针对每一目标链接,若有与该目标链接的标题或统一资源定位符(Uniform Resource Locator,URL)地址匹配的爬虫结果数据,则确定该目标链接关联的匹配结果取1,否则匹配结果取0;依据所有匹配结果之和,确定所述爬虫程序的爬全率。
[0032] 本实施例提供的技术方案,通过访问爬虫程序的爬虫种子库中种子网址关联的网页,从网页的链接属性中筛选出目标链接,依据目标链接和爬虫程序的爬虫结果数据,确定爬虫程序的爬全率,相比于现有技术手动验证爬虫程序的性能,提高了对爬虫程序的测试效率。
[0033] 示例性的,参考图1d,对所述候选链接进行筛选,以得到目标链接之后,还可以包括:将所述目标链接的标题和/或URL地址存储到excel表格中。如,将目标链接的标题存在excel表格的B列中,将目标链接的标题存在excel表格的C列中。本实施例将目标链接的标题和/或URL地址存储到测试机的excel表格中,而不是只存储到测试工具中,避免测试工具断电等异常情况导致目标链接丢失,提高了目标链接的安全性。
[0034] 实施例二
[0035] 本实施例在上述实施例一的基础上提供了一种新的网络爬虫率的自动化测试方法。图2是本发明实施例二中的一种网络爬虫率的自动化测试方法的流程图。该方法可以由网络爬虫率的自动化测试装置来执行,该装置可通过硬件和/或软件的方式实现,可配置于测试机中。如图2所示,所述方法具体包括如下步骤:
[0036] 步骤21、访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接。
[0037] 步骤22、对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中。
[0038] 步骤23、针对所述测试工具中导入的每一目标链接,确定是否有与该目标链接的标题或统一资源定位符URL地址匹配的爬虫结果数据,若有,则对匹配参数加1,其中初始匹配参数为0。
[0039] 具体的,由于初始匹配参数为0,因此匹配参数的取值能够用来准确反应目标链接与爬虫结果数据之间的匹配度。
[0040] 步骤24、依据所述目标链接的总数量和所述匹配参数的取值,确定爬虫程序的爬全率。
[0041] 示例性的,所述依据所述目标链接的数量和所述匹配参数的取值,确定爬虫程序的爬全率,可以包括:
[0042] 依据如下公式,计算爬虫程序的爬全率:
[0043] k=n/m,其中k为爬全率,n为匹配参数的取值,m为所述目标链接的总数量。
[0044] 本实施例提供的技术方案,通过访问爬虫程序的爬虫种子库中种子网址关联的网页,从网页的链接属性中筛选出目标链接,依据目标链接和爬虫程序的爬虫结果数据之间的匹配关系,得到匹配参数的取值,依据匹配参数的取值和目标链接的总数量,确定爬虫程序的爬全率,提高了对爬虫程序的测试效率。
[0045] 实施例三
[0046] 图3是本发明实施例三中的一种网络爬虫率的自动化测试装置的结构示意图,所述装置配置于测试机,如图3所示,所述网络爬虫率的自动化测试装置具体可以包括:
[0047] 候选链接模块31,用于访问从爬虫程序的爬虫种子库中读取的种子网址关联的网页,并从所述网页的链接属性中获得设定数值个候选链接;
[0048] 目标链接模块32,用于对所述候选链接进行筛选,以得到目标链接,并将所述目标链接导入到测试工具中;
[0049] 爬全率模块33,用于依据所述测试工具中导入的目标链接和所述爬虫程序的爬虫结果数据,确定所述爬虫程序的爬全率。
[0050] 示例性的,目标链接模块32具体可以用于:
[0051] 依据从所述爬虫程序的模板库中得到的正则表达式,对候选链接进行筛选,以得到目标链接。
[0052] 示例性的,所述爬全率模块33可以包括:
[0053] 匹配参数单元,用于针对所述测试工具中导入的每一目标链接,确定是否有与该目标链接的标题或URL地址匹配的爬虫结果数据,若有,则对匹配参数加1,其中初始匹配参数为0;
[0054] 爬全率单元,用于依据所述目标链接的总数量和所述匹配参数的取值,确定爬虫程序的爬全率。
[0055] 示例性的,所述爬全率单元具体可以用于:
[0056] 依据如下公式,计算爬虫程序的爬全率:
[0057] k=n/m,其中k为爬全率,n为匹配参数的取值,m为所述目标链接的总数量。
[0058] 示例性的,上述网络爬虫率的自动化测试装置还可以包括:
[0059] 目标链接存储模块,用于对所述候选链接进行筛选,以得到目标链接之后,将所述目标链接的标题和URL地址存储到excel表格中。
[0060] 本实施例提供的网络爬虫率的自动化测试装置,与本发明任意实施例所提供的网络爬虫率的自动化测试方法属于同一发明构思,可执行本发明任意实施例所提供的网络爬虫率的自动化测试方法,具备执行网络爬虫率的自动化测试方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的网络爬虫率的自动化测试方法。
[0061] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。