竞品数据抓取方法及系统与流程

文档序号:17000442发布日期:2019-03-02 01:45阅读:686来源:国知局
竞品数据抓取方法及系统与流程

本发明涉及计算机软件工程技术领域,尤其是涉及一种竞品数据抓取方法及系统。



背景技术:

目前,对于交通出行服务的出票性能层面,竞品测试涉及到的数据抓取及分析,大部分都需要依靠人工去使用竞品产品并记录相关的数据。通过人工的方式获取相关数据时,由于不能连续地对竞品数据进行抓取及记录,故而存在效率低下、数据获取不准确及人工成本高的问题。

基于以上数据获取中存在的问题,一些互联网企业也推出了各类的数据抓取方案,例如:

d1:百度在线网络技术(北京)有限公司在2015年1月19日申请的申请号为“201510025584”的中国专利,其公开了一种抓取网页数据的方法及系统,方法包括:生成数据模板;根据数据模板以及第一请求数据拼接出第二请求数据;根据第二请求数据执行网页数据的抓取;其中,生成数据模板包括:对待抓取的站点进行网页数据的抓取;截获抓取产生的传输数据;根据传输数据中的各请求数据生成请求数据模板,以及,根据传输数据中的各响应数据生成响应数据模板。

d2:北京北纬通信科技股份有限公司在2013年7月30日申请的申请号为“201310325804”的中国专利,其公开了一种业务数据抓取方法和系统,该方法为:配置抓取操作时所需要的规则数据;读取规则数据,根据该规则数据建立网页资源抓取任务,将抓取的网页资源按照配置规则分类进行存储;针对抓取到的网页资源建立数据解析任务,对抓取的网页资源通过解析html文档获取需要的资源uri,同时过滤数据不完整的资源;建立资源下载任务,对解析获取到的所述资源uri使用断点续传的方式下载,获得资源数据;根据采集到的资源数据的完整性进行存储或重新抓取,并在抓取操作无法正常结束时发送报告信息。

由上述文献可知,目前通过抓取网页资源来获取网页数据已具备较为完善的解决方案,但是,却没有针对交通出行服务的出票性能层面的数据抓取,或者模拟人工去使用竞品产品并记录相关数据的完善的解决方案。为此,本申请提出了一种新的方案。



技术实现要素:

本发明的目的是提供一种竞品数据抓取方法及系统,其具有数据获取效率高、数据获取精确性高以及数据获取成本低的效果。

本发明的上述发明目的一是通过以下技术方案得以实现的:

一种竞品数据抓取方法,包括以下步骤:

步骤s1,录入需要抓取的竞品产品的信息;

步骤s2,通过自动化测试工具执行预设的抓取脚本,并在生成竞品产品订单后,模拟竞品产品的下单流程;

步骤s3,对竞品产品订单的相关爬取数据进行抓取,并将抓取的相关爬取数据存储至数据库中;

步骤s4,重复步骤s2和步骤s3,对竞品产品订单的相关爬取数据进行批量的抓取并在数据库中新建一个与该竞品产品相关联的订单列表;

步骤s5,抓取订单列表中各个订单的订单状态信息;

步骤s6,根据步骤s5中抓取的订单状态信息变更数据库中对应订单的相关信息;

步骤s7,不断重复步骤s5和步骤s6,进行竞品产品数据的持续抓取。

通过采用上述技术方案,通过自动化测试工具,使用已经开发好的抓取脚本,对指定的竞品产品进行使用,使用过程中,通过抓取脚本竞品产品数据进行抓取。本申请的技术方案解放了人力,降低了竞品数据的抓取成本,提升了数据抓取效率,且有效提高了数据获取的精确性。

本发明进一步设置为:所述步骤s1包括以下子步骤:

步骤s101,录入需要抓取的竞品产品的信息;

步骤s102,按照竞品产品的类型对竞品产品进行分类;

步骤s103,根据竞品产品的类型跳转至指定的竞品首页。

通过采用上述技术方案,能够按照竞品产品的类型对竞品产品进行模拟下单,并对该竞品产品数据进行连续的抓取。

本发明进一步设置为:所述竞品产品的类型包括网页端竞品和app端竞品。

本发明进一步设置为:所述步骤s2包括以下子步骤:

步骤s201,通过自动化测试工具解析并执行预设的抓取脚本;

步骤s202,按照抓取脚本预设的登录帐号信息及密码信息,登录竞品帐号;

步骤s203,生成竞品产品订单并模拟竞品产品的下单流程,通过抓取脚本自动将相关信息填入该订单后,提交该订单;

步骤s204,唤起竞品产品可选择的支付方式并选择预设的支付方式支付相关订单。

通过采用上述技术方案,可以按照事先写好的抓取脚本模拟竞品产品的下单流程,自动进行竞品产品的下单。对竞品产品进行使用时,抓取脚本还会连续的抓取竞品产品的相关信息并存储至数据库中,解放了人力,在提高了数据抓取效率的同时,也提高了数据抓取的精确性。

本发明进一步设置为:所述步骤s5包括以下子步骤:

步骤s501,监控订单列表中各个订单的订单状态;

步骤s502,抓取订单列表中各个订单的订单状态信息;

步骤s503,判断订单列表中各个订单的订单状态信息是否有变更,若是则跳转至步骤s6,若否则返回步骤s501。

通过采用上述技术方案,能够持续的对订单列表中各个订单的状态进行实时的监控,有效提高了抓取脚本所抓取数据的精确性和抓取效率。

本发明进一步设置为:所述步骤s6具体包括:根据步骤s5中抓取的订单状态信息变更数据库中对应订单的状态信息、操作时间信息以及处理时间信息。

通过采用上述技术方案,订单的状态信息结合订单的用户操作时间信息和订单的系统处理时间信息,可以客观的分析出交通出行服务平台的出票性能。另一方面,订单状态信息还可以包括订单的状态信息、操作时间信息以及处理时间信息的其它方面,通过这些信息,可以精准的找出影响平台出票性能的因素,从而便于工作人员对平台进行改进及性能升级。

本发明进一步设置为:所述步骤s7包括以下子步骤:

步骤701,不断重复步骤s5和步骤s6,进行竞品产品数据的持续抓取;

步骤702,达到设定时间后,停止抓取竞品产品数据;

步骤703,将数据库中的订单列表信息导出并进行结果展示。

通过采用上述技术方案,可将数据库中抓取的数据进行形象的展示,可选的是,数据库中各订单的信息可通过数据列表的方式展示,也可通过树状图或其它示图对订单的信息进行单独或系统的展示,具有方便工作人员对数据进行观察和分析的效果。

本发明的上述发明目的二是通过以下技术方案得以实现的:

一种竞品数据抓取系统,包括:

系统后台,用于供用户录入需要抓取的竞品产品的信息;

测试服务器,用于生成竞品产品订单并模拟竞品产品的下单流程,还用于对所述竞品产品订单的相关爬取数据进行抓取;

数据库,用于存储抓取的所述竞品产品订单的相关爬取数据并新建一个与所述竞品产品相关联的订单列表;

其中,所述测试服务器还用于抓取订单列表中各个订单的订单状态信息并根据抓取的订单状态信息变更数据库中对应订单的相关信息。

通过采用上述技术方案,测试服务器能够对指定的竞品产品进行使用(即生成竞品产品订单并模拟竞品产品的下单流程)。在使用过程中,测试服务器还能够对竞品产品数据进行抓取,并将抓取的数据存储至数据库中,解放了人力,具有数据获取效率高、数据获取精确性高以及数据获取成本低的优点。

本发明进一步设置为:所述测试服务器包括:

测试模块,所述测试模块内预设有自动化测试工具和抓取脚本,所述自动化测试工具用于解析并执行所述抓取脚本;

登录模块,用于按照所述抓取脚本预设的登录帐号信息及密码信息登录竞品帐号;

配置模块,用于通过所述抓取脚本将相关信息填入竞品产品订单后,提交所述竞品产品订单;

支付模块,用于唤起所述竞品产品订单可选择的支付方式并选择预设的支付方式支付相关订单。

通过采用上述技术方案,测试服务器模拟了整个下单的流程,从而在解放了人力及提高了数据抓取效率的基础上提高了抓取的数据的精确性。

本发明进一步设置为:所述竞品数据抓取系统还包括显示模块,所述显示模块用于将数据库中的订单列表信息导出并进行结果展示;所述订单列表信息包括订单的状态信息、操作时间信息以及处理时间信息。

通过采用上述技术方案,显示模块可将数据库中存储的抓取数据进行形象的展示,具有能够方便工作人员对数据进行观察和分析的效果,进一步提高了工作人员分析出票性能时的工作效率。

综上所述,本发明的有益技术效果为:

1.根据抓取脚本即可将抓取的数据存储至数据库中,模拟了人工对竞品产品进行使用并记录数据,具有数据获取效率高、数据获取精确以及数据获取成本低的效果;

2.通过将竞品产品进行分类后进行数据抓取,具有能够提高测试效果的作用;

3.通过实时监控订单列表中各个订单的订单状态,有效提高了抓取脚本所抓取数据的精确性以及抓取数据时的抓取效率。

附图说明

图1是本发明实施例一示出的竞品数据抓取方法的流程图;

图2是本发明实施例一中步骤s1的流程图;

图3是本发明实施例一中步骤s2的流程图;

图4是本发明实施例一中步骤s5的流程图;

图5是本发明实施例一中步骤s7的流程图;

图6是本发明实施例二示出的竞品数据抓取系统的整体结构示意图。

图中,11、系统后台;12、测试服务器;13、数据库;14、显示模块;21、测试模块;22、登录模块;23、配置模块;24、支付模块。

具体实施方式

以下结合附图对本发明作进一步详细说明。

实施例一

参照图1,为本发明公开的一种竞品数据抓取方法,包括以下步骤:

步骤s1,用户在提供的系统后台录入需要抓取的竞品产品的信息;

步骤s2,通过自动化测试工具解析并执行预设的抓取脚本,并在生成竞品产品订单后,模拟竞品产品的下单流程;具体的,在本实施例中,自动化测试工具采用自动化测试软件selenium,使用自动化测试软件selenium解析并执行预设的抓取脚本后,对步骤s1中的竞品产品进行使用(即下单)。

步骤s3,对竞品产品订单的相关爬取数据进行抓取,并将抓取的相关爬取数据存储至数据库中;具体的为,将此次竞品产品订单的订单信息及下单过程中抓取到的相关信息进行汇总,并将汇总的信息通过收集接口传输并存储至至数据库中;

步骤s4,重复步骤s2和步骤s3,对竞品产品订单的相关爬取数据进行批量的抓取并在数据库中新建一个与该竞品产品相关联的订单列表;

步骤s5,抓取订单列表中各个订单的订单状态信息;

步骤s6,根据步骤s5中抓取的订单状态信息,通过收集接口变更数据库中对应订单的相关信息;具体的,数据库中对应订单的相关信息包括订单的状态信息、订单的操作时间信息以及订单的处理时间信息;需要说明的是,订单的状态包括出票成功、取消购票、退票等,订单的操作时间为下单过程中用户的操作所花费的时间,订单的处理时间为下单过程中系统对订单的处理时间;

步骤s7,不断重复步骤s5和步骤s6,进行竞品产品数据的持续抓取。

参照图2,步骤s1包括以下子步骤:

步骤s101,用户在提供的系统后台录入需要抓取的竞品产品的信息;

步骤s102,按照竞品产品的类型对竞品产品进行分类;具体的,竞品产品的类型包括网页端竞品和app端竞品;

步骤s103,根据竞品产品的类型跳转至指定的竞品首页;具体的,当竞品产品为网页端竞品时,通过预设的驱动自动启动chrome、firfox、google等浏览器,并通过抓取脚本预设的参数,跳转至指定的竞品首页地址(即网页端的竞品首页);当竞品产品为app端竞品时,通过自动化测试工具(即自动化测试软件selenium)启动对应的竞品app,并到达指定的竞品首页(即app端的竞品首页)。

参照图3,步骤s2包括以下子步骤:

步骤s201,通过自动化测试工具解析并执行预设的抓取脚本;

步骤s202,按照抓取脚本预设的登录帐号信息及密码信息,登录竞品帐号;

步骤s203,生成竞品产品订单并模拟竞品产品的下单流程,通过抓取脚本自动将相关信息填入该订单后,提交该订单;具体的,抓取脚本自动填入订单的相关信息包括出发地、目的地、乘客帐号等信息。

步骤s204,唤起竞品产品可选择的支付方式并选择预设的支付方式支付相关订单;优选的,唤起竞品产品可选择的支付方式后,选择支付宝对相关订单进行支付。

参照图4,步骤s5包括以下子步骤:

步骤s501,监控订单列表中各个订单的订单状态;

步骤s502,抓取订单列表中各个订单的订单状态信息;

步骤s503,判断订单列表中各个订单的订单状态信息是否有变更,若是则跳转至步骤s6,若否则返回步骤s501。

参照图5,步骤s7包括以下子步骤:

步骤701,不断重复步骤s5和步骤s6,进行竞品产品数据的持续抓取;

步骤702,达到设定时间后,停止抓取竞品产品数据;

步骤703,将数据库中的订单列表信息导出并进行结果展示;优选的,将数据库中的订单列表信息导出后展示的信息包括订单的状态信息、订单的用户操作时间信息以及订单的系统处理时间信息等。

上述实施例的实施原理为:

使用selenium自动化测试框架解析并执行已经开发好的抓取脚本,对指定的竞品产品进行使用。在使用竞品产品的过程中(即竞品产品的下单过程中),还通过抓取脚本对竞品产品数据进行抓取,并存到数据库中。数据抓取达到指定时间后,将数据库中的订单列表信息导出并进行结果展示。

需要说明的是,新增竞品产品时,需要编写新产品的抓取脚本,然后重复步骤s1-s7,进行新增竞品产品的数据抓取。本申请的技术方案解放了人力,降低了竞品数据的抓取成本,提升了数据抓取效率,且提高了数据获取的精确性。

实施例二

参照图6,为本发明公开的一种竞品数据抓取系统,包括系统后台11、测试服务器12、数据库13和显示模块14。其中,系统后台11用于供用户向数据库13中录入需要抓取的竞品产品的信息。测试服务器12用于生成与数据库13中的该竞品产品对应的竞品产品订单并模拟竞品产品的下单流程,还用于对竞品产品订单的相关爬取数据进行抓取。数据库13用于存储抓取的竞品产品订单的相关爬取数据并新建一个与该竞品产品相关联的订单列表。显示模块14用于将数据库13中的订单列表信息导出并进行结果展示,即显示订单列表信息和出票成功率以展示交通出行服务平台的出票性能,具体的,订单列表信息包括订单的状态信息、订单的用户操作时间信息以及订单的系统处理时间信息等。

参照图6,测试服务器12还用于抓取订单列表中各个订单的订单状态信息并根据抓取的订单状态信息变更数据库13中对应订单的相关信息。具体的,数据库13中对应订单的相关信息包括订单的状态信息、订单的用户操作时间信息、订单的系统处理时间信息等。需要说明的是,订单的状态包括出票成功、取消购票、退票等,订单的操作时间为下单过程中用户的操作所花费的时间,订单的处理时间为下单过程中系统对订单的处理时间。

参照图6,测试服务器12包括测试模块21、登录模块22、配置模块23和支付模块24。具体的,测试模块21内预设有自动化测试工具和抓取脚本,自动化测试工具用于解析并执行抓取脚本。优选的,自动化测试工具采用自动化测试软件selenium,使用自动化测试软件selenium解析并执行预设的抓取脚本后,对竞品产品进行使用(即对竞品产品进行下单)。需要说明的是,测试模块21还用于按照竞品产品的类型对竞品产品进行分类,竞品产品的类型包括网页端竞品和app端竞品。测试模块21对竞品产品进行分类后,会根据竞品产品的类型跳转至指定的竞品首页。具体的,当竞品产品为网页端竞品时,测试模块21通过预设的驱动自动启动chrome、firfox、google等浏览器,并通过抓取脚本预设的参数,跳转至指定的竞品首页地址(即网页端的竞品首页地址)。当竞品产品为app端竞品时,测试模块21会通过自动化测试工具(即自动化测试软件selenium)启动对应的竞品app,并到达指定的竞品首页(即app端的竞品首页)。

参照图6,登录模块22用于按照抓取脚本预设的登录帐号信息及密码信息,登录竞品帐号。配置模块23用于通过抓取脚本将相关信息填入竞品产品订单后,提交该竞品产品订单,具体的,抓取脚本自动填入订单的相关信息包括出发地信息、目的地信息、乘客帐号信息等。支付模块24用于唤起竞品产品订单可选择的支付方式并选择预设的支付方式支付相关订单,需要说明的是,在本实施例中,竞品产品订单的支付方式默认为支付宝,支付模块24唤起竞品产品可选择的支付方式后,选择支付宝对相关订单进行支付。

上述实施例的实施原理为:

用户通过系统后台11录入需要抓取的竞品产品信息后,测试服务器12自动将任务获取,并按照竞品产品的类型(网页端竞品、app端竞品)进行分类。竞品产品分类完成后,测试服务器12使用自动化测试软件selenium解析事先写好的竞品产品的抓取脚本,并执行该抓取脚本。抓取脚本在执行的过程中,会对需要的竞品产品数据进行抓取,并存到数据库13中。

数据抓取达到设定时间后,显示模块14会将数据库13中的订单列表信息导出并进行结果展示。需要说明的是,新增竞品产品时,需要编写新产品的抓取脚本,然后进行新增竞品产品的数据抓取。本申请的技术方案解放了人力,达到了数据获取效率高、数据获取精确性高以及数据获取成本低的效果。

本具体实施方式的实施例均为本发明的较佳实施例,并非依此限制本发明的保护范围,故:凡依本发明的结构、形状、原理所做的等效变化,均应涵盖于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1