配置化采集APP信息的爬虫方法、存储介质与流程

文档序号:17927096发布日期:2019-06-15 00:29阅读:317来源:国知局
配置化采集APP信息的爬虫方法、存储介质与流程

本发明涉及爬虫领域,具体涉及配置化采集app信息的爬虫方法、存储介质。



背景技术:

采集app信息的数据时,需要面对的是名种复杂不同的市场页面布局;抓取的页面层级也不同。常用的实现方式是针对不同应用市场页面编写特定的爬虫去分析和抓取数据。这种方式需要大量编码才能实现应用所有市场页面的数据抓取,因为为各种应用市场定制开发爬虫,需要的开发成本很高。

现有技术中,申请号为201310654507.4,发明名称为《在ipv6网络中发现活跃ip地址的方法及装置》,提供了一种针对ipv6地址的活跃变化进行数据采集;另一篇申请号为201410655647.8,发明名称为《一种测试网络爬虫的方法及系统》,提供了一种海量域名配置测试抓取网络的性能。上述现有技术都无法实现针对app信息数据,提供一种通过配置指定已知的app市场域名进行分析,配置中针对app结构定制进行匹配的数据筛选策略,以解决开发效率低和开发成本高等问题。



技术实现要素:

本发明所要解决的技术问题是:提供一种配置化采集app信息的爬虫方法、存储介质,通过修改配置文件实现开发效率的提高和开发成本的降低。

为了解决上述技术问题,本发明采用的技术方案为:

一种配置化采集app信息的爬虫方法,包括:

s1:构建内容解析字典,所述内容解析字典包括一级解析配置键及其对应的一级解析配置项和二级解析配置键及其对应的二级解析配置项;

s2:配置应用市场的起始域名及其对应的路径地址列表;

s3:配置各个路径地址对应一级解析配置键,配置各个应用详情页对应二级解析配置键;

s4:启动爬虫,下载所述路径地址列表中一路径地址对应的网页内容;

s5:依据所述内容解析字典记载的所述一级解析配置项对应的一级解析配置项对所下载的网页内容进行解析,筛选出对应的应用详情页地址列表,并下载对应的应用详情页;

s6:依据所述内容解析字典记载的所述二级解析配置项对应的二级解析配置项分别对所下载的各个应用详情页进行解析,获取各个应用详情页对应的应用详情字段,并存入数据库;

s7:若解析到一应用详情页存在分页地址,则下载所述分页地址对应的网页内容,然后返回执行所述s5步骤;否则继续下载所述路径地址列表中的下一路径地址对应的网页内容,然后返回执行所述s5步骤。

本发明提供的另一个技术方案为:

一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述一种配置化采集app信息的爬虫方法所包含的步骤。

本发明的有益效果在于:提供一种配置化采集app信息的爬虫方法、存储介质,采用爬虫配置文件方式实现各种应用市场的app信息数据抓取,无需再考虑市场页面布局的差异和页面层级的差异,更不需要大量编码来实现。本发明具有开发效率高、编码和开发成本低,且在不影响其他市场配置的情况下快速扩展适用于新的应用市场的数据爬取等优点。

附图说明

图1为本发明实施例一种配置化采集app信息的爬虫方法的流程示意图。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:针对多变的app市场数据来源,采用配置文件方式实现不同app市场抓取流程逻辑,不需要维护修改代码,统一所有app市场数据爬取流程的实现代码。

本发明涉及的技术术语解释:

请参照图1,本发明提供一种配置化采集app信息的爬虫方法,包括:

s1:构建内容解析字典,所述内容解析字典包括一级解析配置键及其对应的一级解析配置项和二级解析配置键及其对应的二级解析配置项;

s2:配置应用市场的起始域名及其对应的路径地址列表;

s3:配置各个路径地址对应一级解析配置键,配置各个应用详情页对应二级解析配置键;

s4:启动爬虫,下载所述路径地址列表中一路径地址对应的网页内容;

s5:依据所述内容解析字典记载的所述一级解析配置项对应的一级解析配置项对所下载的网页内容进行解析,筛选出对应的应用详情页地址列表,并下载对应的应用详情页;

s6:依据所述内容解析字典记载的所述二级解析配置项对应的二级解析配置项分别对所下载的各个应用详情页进行解析,获取各个应用详情页对应的应用详情字段,并存入数据库;

s7:若解析到一应用详情页存在分页地址,则下载所述分页地址对应的网页内容,然后返回执行所述s5步骤;否则继续下载所述路径地址列表中的下一路径地址对应的网页内容,然后返回执行所述s5步骤。

从上述描述可知,本发明的有益效果在于:减少编码与开发成本,可以快速扩展新的app市场数据爬取,调整单个app市场配置文件不会影响其它市场配置。

进一步的,所述一级解析配置项中包括列表筛选器、字段筛选器和分页筛选器;

所述s5步骤中,依据所述列表筛选器筛选出所述应用详情页地址列表;

所述s6步骤中,依据所述字段筛选器获取所述应用详情字段;

所述s7步骤中,依据所述分页筛选器判断所述一应用详情页是否存在分页地址。

由上述描述可知,通过在配置文件中配置不同功能的选择器,在对应步骤中实现对应的功能,高效、便捷且准确。

进一步的,所述s6获取的应用详情字段存入数据库中对应当前应用详情页的app_info实体对象中。

由上述描述可知,将爬取的数据存储在实体对象中,方便精准地获取,同时有利于归整。

进一步的,还包括:

s8:判断是否完成所述路径地址列表中所有路径地址对应的网页内容的下载;

若是,则退出爬虫,结束流程;

若否,则继续下载所述路径地址列表中未下载的一路径地址对应的网页内容,然后返回执行所述s5步骤。

由上述描述可知,能实现自动完成应用市场内所有网页的应用信息抓取,不产生遗漏,且能自动在完成抓取后退出,更智能、更实用。

进一步的,所述一级解析配置键为list-parse;所述二级解析配置键为detail-parse。

由上述描述可知,通过设置唯一的解析配置键,能依据解析配置键按照对应的解析配置项进行具体解析;而上述一级解析配置键和二级解析配置键的具体键值设置,具有含义直观明了的特点。

本发明提供的另一个技术方案为:

一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述一种配置化采集app信息的爬虫方法所包含的步骤。

从上述描述可知,本发明的有益效果在于:对应本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程,以实现采用爬虫配置文件方式实现各种应用市场的app信息数据抓取,无需再考虑市场页面布局的差异和页面层级的差异,更不需要大量编码来实现。本发明具有开发效率高、编码和开发成本低,且在不影响其他市场配置的情况下快速扩展适用于新的应用市场的数据爬取等优点。

实施例一

请参照图1,本实施例提供一种配置化采集app信息的爬虫方法,能适应各种应用市场采集app信息,且降低开发成本的同时提高开发效率。

方法包括以下步骤:

一、爬虫站点配置

s1:构建内容解析字典,所述内容解析字典包括一级解析配置键及其对应的一级解析配置项和二级解析配置键及其对应的二级解析配置项;

内容解析字典由键/项的关联关系构成。具体的,本实施例的内容解析字典中记载的是一级解析配置键与对应的一级解析配置项之间的关联关系,以及二级解析配置键及对应的二级解析配置项之间的关联关系。优选的,为了更直观的区别不同配置键,可以定义list-parse作为一级解析配置键;detail-parse作为二级解析配置键。

其中,每一个键值名称是唯一的,键值关联的解析配置项对应的是解析配置内容。

在一具体示例中,所述内容解析字典的格式如下所示:

s2:配置应用市场的起始域名及其对应的路径地址列表;

具体的,所述起始域名指的是应用市场的首页面地址;路径地址列表对应该应用市场的所有分页面地址的集合。

s3:配置各个路径地址对应一级解析配置键,配置各个应用详情页对应二级解析配置键;即配置所有的路径地址都对应一级解析配置键;所有的应用详情页对应二级解析配置键。

二、启动爬虫

在启动爬虫后,爬虫根据提供的起始域名和对应的路径地址列表分别下载各个路径地址对应的网页内容;然后通过预先配置的对应路径地址的一级解析配置键从内容解析字典中获取与其对应的一级解析配置项,针对所获取的一级解析配置项逐一对已下载的各个网页内容进行解析。

下面,针对一路径地址的爬虫过程展开进行详细说明:

s4:下载所述路径地址列表中的一路径地址对应的网页内容;

s5:由于步骤s3中已配置路径地址对应一级解析配置键,因此,通过查阅所述内容解析字典,获取其中记载的所述一级解析配置项对应的一级解析配置项,然后使用一级解析配置项对所下载的网页内容进行解析,通过解析筛选出该路径地址对应的应用详情页地址列表,并下载对应的应用详情页。

在一具体实施方式中,具体通过一级解析配置项中提供的app信息的列表筛选器从当前网页内容中筛选出由多个app详情页地址构成的应用详情页地址列表。

s6:由于步骤s3中已配置各个应用详情页对应二级解析配置键,因此,通过查阅所述内容解析字典,获取其中记载的所述二级解析配置项对应的二级解析配置项,然后使用二级解析配置项分别对已下载的各个应用详情页进行解析,获取各个应用详情页对应的应用详情字段,并存入数据库。

在一具体实施方式中,所述配置各个应用详情页对应二级解析配置键,具体是通过配置的列表筛选器对应二级解析配置键实现。因此,在下载应用详情页之后,对应详情页的具体解析过程为:依据列表筛选器对应的二级解析配置键查阅内容解析字典,获取对应的二级解析配置项,再依据二级解析配置项中提供的字段筛选器获取已下载的应用详情页中的应用详情字段,并将应用详情字段存储在数据库中对应当前应用详情页的app_info实体对象中。

优选的,在筛选出app详情页对应的字段值后,依据字段值创建一个实体对象,并把实体对象提交到去重队列池中;通过去重队列过滤掉已经解析过app信息的实体对象,然后将该实体对象写入数据库,并返回完成。

s7:若解析到其中一应用详情页存在分页地址,则下载所述分页地址对应的网页内容,然后返回执行所述s5步骤;否则继续下载所述路径地址列表中的下一路径地址对应的网页内容,然后返回执行所述s5步骤。

在一具体实施方式中,将在对应各个应用详情页进行解析时,同时执行分页筛选步骤:筛选出应用详情字段并存入数据库后,将使用二级解析配置项中提供的分页筛选器,筛选出当前应用详情页是否存在分页地址;若存在分页地址(即下一页分页地址),则依据筛选到的分页地址下载对应的分页网页内容,然后返回继续执行步骤s5,将已下载的分页网页内容当作网页内容进行处理;若不存在分页地址,则继续下载所述路径地址列表中的下一路径地址对应的网页内容,然后返回执行所述s5步骤。

s8:判断是否完成所述路径地址列表中所有路径地址对应的网页内容的下载;

若是,则退出爬虫,结束流程;

若否,则继续下载所述路径地址列表中未下载的一路径地址对应的网页内容,然后返回执行所述s5步骤。

即不管循环执行s5-s7,直至完成列表中所有路径地址及所有分页地址对应网页内容的解析。

实施例二

本实施例对应实施例一,提供一具体运用场景:

以爬虫抓取appstore这一应用市场的app信息为例进行说明:

1、配置appstore应用市场的起始域名地址“https://itunes.apple.com/cn”;另外配置与其对应的多个相对路径地址,此处以“动作游戏”与“冒险游戏”分类为例,分别配置对应的相对路径,以及配置对应的解析配置键为“list-parse”,配置如下:

2、爬虫分别下载“动作游戏”与“冒险游戏”的页面内容;读取解析配置键(list-parse)对应的'items.app_info'.name'解析配置项,即下述list-parse之后的第一个{}内的内容,依据该解析配置项可以提取出列表中的app名称,再通过jump_link项基本可以筛选出app详细页的链接地址,配置如下:

3、通过筛选出app详细页的链接地址,使用爬虫下载页面内容后,使用“detail-parse”解析配置键所对应的解析配置项(下述detail-parse之后的第一个{}内的内容)来解析app详细页的链接地址;配置如下:

上面配置中会提取详情页中的价格与app包大小两个信息,并会存储到app_info实体对象中;在“detail-parse”解析配置键对应的解析配置项中没有再深入下一级的parse项配置,因此判断它完成并返回上一级继续处理;

4、上一级是list-parse解析配置,在对应的解析配置项中,判断是否有分页筛选器配置(next_page项),在next_page项中有配置,则会筛选出链接地址,并爬取下一页的内容,并继续由list-parse解析配置来解析,并跳到步骤2来处理app列表;直到没有筛选出链接地址时,判断它完成,并返回上一级继续处理;list-parse解析配置由于它已经是第一级,因此判断它结束,完成整个爬取流程,并退出爬虫。

实施例三

本实施例对应实施例一和实施例二,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能实现上述实施例或实施例提供的一种配置化采集app信息的爬虫方法所包含的所有步骤。具体的步骤内容在此不进行复述,详情请参阅实施例一或实施例二的记载。

其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

综上所述,本发明提供的一种配置化采集app信息的爬虫方法、存储介质,不仅能适用于不同类型的应用市场布局的爬虫抓取;而且不需要大量编码来实现,也无需定制代码;本发明具有开发效果高且开发成本低,同时易于维护的优点。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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