一种基于云平台的移动App内容安全获取方法及设备与流程

文档序号:11515032阅读:438来源:国知局

本发明涉及云平台和网络技术领域,是一种基于云平台的移动app内容安全获取方法及设备。



背景技术:

网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。爬虫大致的工作流程:(1)首先选取url;(2)将这些url放入待抓取url队列;(3)从待抓取url队列中取出待抓取的url,解析dns,并且得到主机的ip,并将url对应的网页下载下来,存储,此外,将这些url放进已抓取url队列;(4)分析已抓取url队列中的url,分析其中的其他url,并且将url放入待抓取url队列,从而进入下一个循环。

传统基于网站的互联网爬虫已经有成熟的方案,而针对移动app的爬虫,则需要做一些改进。很多app在设计api时,为了减小明文的暴露次数,保证数据安全的访问,会在链接中带上一些请求参数,我们想要获取相应内容,就需要知道每个参数的生成方式,过程十分复杂。



技术实现要素:

针对现有技术中存在的不足,本发明提供了一种基于云平台的移动app内容安全获取方法,可以安全的对移动app进行数据爬取。

本发明的技术方案为:

一种基于云平台的移动app内容安全获取方法,包括:

接收第一数据,解析生成触发链接,发送至移动终端;

在移动终端的app中执行模拟点击所述触发链接的操作,触发app服务器与移动终端的数据交互;

监听所述数据交互,获取与app内容相对应的url链接;

通过所述url链接,获取app内容。

进一步的,监听所述数据交互,获取与移动app内容相对应的url链接包括:

基于xposed框架,编写hook程序,用于监听所述数据交互,在不影响app正常使用的情况下获取基于数据交互所产生的原始数据,从原始数据中提取与app内容相对应的url链接,并以任务队列的形式向外发送所述url链接。

进一步的,采用socket通信将所述触发链接分发到多个移动终端上,监听多个移动终端与app服务器的数据交互,同时获取多个app的内容。

进一步的,当所述触发链接为模拟登陆带有验证码的页面时,所述数据交互包括:首先访问验证码页面,保存验证码、获取cookie用于登录,分析登录地址需要post提交的request和header信息,然后向登录地址post提交表单数据中的登录信息。

进一步的,为监听所述数据交互设置时间间隔,并根据数据交互的容量调整时间间隔。

进一步的,对所述原始数据进行去重操作、去除无关内容操作,或者根据相似规则去除由程序生成的代码内容。

进一步的,当被访问的app服务器设置了robot.txt文件来限制获取内容,设置回复所述robot.txt文件中robotstxt_obey=true用于默认打开被访问页面。.

本发明还提出了一种基于云平台的移动app内容安全获取系统,包括:

爬虫系统服务器,用于接收第一数据,解析生成触发链接,发送至移动终端;接收移动终端获取的基于数据交互所产生的原始数据,从原始数据中提取与移动app内容相对应的url链接,并以任务队列的形式向数据库发送所述url链接;

数据库,向爬虫系统服务器发送第一数据,并且接收发送系统服务器返回的url链接。

移动终端,用于接收触发链接,在移动终端的移动app中模拟点击所述触发链接,触发app服务器与移动终端的数据交互;监听所述数据交互,获取基于数据交互所产生的原始数据。

本发明还提出了一种基于云平台的app内容安全获取移动终端,包括处理器,用于实现各指令;以及存储装置,其中存储多条指令,所述指令由处理器加载并执行以下处理:

接收触发链接,在移动终端的app中模拟点击所述触发链接,触发app服务器与移动终端的数据交互;基于xposed框架,编写hook程序,用于监听所述数据交互,在不影响app正常使用的情况下获取基于数据交互所产生的原始数据。

本发明还提出了一种云平台:包括处理器,用于实现各指令;以及存储装置,用于存储多条指令,所述指令适于由处理器加载并执行以下处理:

接收第一数据,解析生成触发链接,发送至移动终端;接收移动终端获取的基于数据交互所产生的原始数据,从原始数据中提取与移动app内容相对应的url链接,并以任务队列的形式向数据库发送所述url链接。

本发明的有益效果:

本发明针对app的带参请求链接,提出了一种基于云平台的移动app内容安全获取方法,主要思想是在移动端模拟点击对应的接口链接,触发移动终端与服务端间的数据交互,这一请求过程则会生成我们需要的链接。通过监听移动终端与服务器通信的接口来获取到请求链接,可以对移动app进行实现安全、简易地数据爬取。

附图说明

图1为本发明的系统结构图。

具体实施方式:

下面结合附图与实施例对本发明作进一步说明:

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

本发明的一种典型实施例是:

一种基于云平台的移动app内容安全获取方法,包括:

接收第一数据,解析生成触发链接,发送至移动终端;

在移动终端的app中执行模拟点击所述触发链接的操作,触发app服务器与移动终端的数据交互;

监听所述数据交互,获取与app内容相对应的url链接;

通过所述url链接,获取app内容。

其中接收第一数据,解析生成触发链接,发送至移动终端,通过编写“设备协调程序”来执行,该程序负责从数据库中取出数据(也就是触发链接)通过socket通信分发给移动终端端上的“数据预处理程序”。可以分发到多个移动终端上,监听多个移动终端与app服务器的数据交互,同时获取多个app的内容。

移动终端端上的“数据预处理程序”用来接收所述触发链接,然后交给“点击事件处理程序”,起到移动终端与爬虫系统服务器“设备协调程序”之间沟通以及设备端数据预处理的作用;

“点击事件处理程序”,负责执行模拟点击链接操作,触发服务器与移动终端的数据交互。

上述方法中监听所述数据交互,获取与移动app内容相对应的url链接包括:

基于xposed框架,编写hook程序,用于监听所述数据交互,在不影响app正常使用的情况下获取基于数据交互所产生的原始数据,从原始数据中提取与app内容相对应的url链接,并以任务队列的形式向外发送所述url链接。

由于目前大多数被访问的页面带有验证码,每次访问或者登录时均需要输入验证码,本方法考虑到当所述触发链接为模拟登陆带有验证码的页面时,数据交互包括:首先访问验证码页面,保存验证码、获取cookie用于登录,分析登录地址需要post提交的request和header信息,然后向登录地址post提交表单数据中的登录信息。

同时为了获取内容的有效性,为监听所述数据交互设置时间间隔,并根据数据交互的容量调整时间间隔。

采用本方法获取的原始数据包含有大量的噪声,需要对所述原始数据进行去重操作、去除无关内容操作,或者根据相似规则去除由程序生成的代码内容。

进一步的,当被访问的app服务器设置了robot.txt文件来限制获取内容,设置回复所述robot.txt文件中robotstxt_obey=true用于默认打开被访问页面。.这一设置可以跨过限制,有效获取数据。

本发明还提出了一种基于云平台的移动app内容安全获取系统,如图1所示包括:

爬虫系统服务器,用于接收第一数据,解析生成触发链接,发送至移动终端;接收移动终端获取的基于数据交互所产生的原始数据,从原始数据中提取与移动app内容相对应的url链接,并以任务队列的形式向数据库发送所述url链接;

数据库,向爬虫系统服务器发送第一数据,并且接收发送系统服务器返回的url链接。

移动终端,用于接收触发链接,在移动终端的移动app中模拟点击所述触发链接,触发app服务器与移动终端的数据交互;监听所述数据交互,获取基于数据交互所产生的原始数据。

本发明还提出了一种基于云平台的app内容安全获取移动终端,包括处理器,用于实现各指令;以及存储装置,其中存储多条指令,所述指令由处理器加载并执行以下处理:

接收触发链接,在移动终端的app中模拟点击所述触发链接,触发app服务器与移动终端的数据交互;基于xposed框架,编写hook程序,用于监听所述数据交互,在不影响app正常使用的情况下获取基于数据交互所产生的原始数据。

本发明还提出了一种云平台:包括处理器,用于实现各指令;以及存储装置,用于存储多条指令,所述指令适于由处理器加载并执行以下处理:

接收第一数据,解析生成触发链接,发送至移动终端;接收移动终端获取的基于数据交互所产生的原始数据,从原始数据中提取与移动app内容相对应的url链接,并以任务队列的形式向数据库发送所述url链接。

正如上文所述,各个指令通过编写独立的程序执行本发明的目的,其中移动终端包括以下程序:

(一)移动终端数据处理程序

1)“数据预处理程序”,负责接收爬虫系统的服务端发送的数据,并将接收的数据解析为触发链接,然后交给“点击事件处理程序”,起到移动终端与爬虫系统服务器“设备协调程序”之间沟通以及设备端数据预处理的作用;

2)“点击事件处理程序”,负责执行模拟点击链接操作,触发服务器与客户端的数据交互;

(二)hook程序

这一部分的开发基于xposed框架,需要在移动终端(android系统)上预装xposed框架。负责hook服务器与客户端的交互数据,将该程序绑定在手机上,可以在不影响app正常使用的情况下获取app和服务器之间的交互数据,之后回传给爬虫系统的服务端。

其中爬虫系统服务器包括以下程序:

爬虫系统服务器程序

该程序分成三部分功能:

1)“设备协调程序”,负责从数据库中取出数据(也就是触发链接)通过socket通信分发给移动终端端上的“数据预处理程序”。

2)“hook服务器端程序”,负责随时等待绑定到移动端的hook程序传回数据,并把数据送入到爬虫系统“服务端数据处理程序”的任务队列中,起到“hook程序”与“服务端数据处理程序”之间沟通的作用。

3)“服务端数据处理程序”,负责处理“hook程序”传回来的数据,解析出所需链接,获取相应数据并存入数据库;

爬虫系统工作流程:

1)爬虫系统服务器的“设备协调程序”从数据库中取出数据分发给移动终端端上的“数据预处理程序”。

2)移动终端端上的“数据预处理程序”接受并处理分发的数据为可点击的链接并转交给“点击事件处理程序”,由它执行点击链接操作,从而触发app和服务器之间的数据交互。

3)“hook程序”获取到了它们之间的交互数据,然后发送原始数据给爬虫系统服务器的“hook服务器端程序”。

4)“hook服务器端程序”接收数据后,系统启动一个“服务端数据处理程序”进程,“hook服务器端程序”把数据传给该进程,进行数据处理和存储。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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