一种App数据采集方法及系统技术方案

技术编号:35486148 阅读:17 留言:0更新日期:2022-11-05 16:39
本发明专利技术公开了一种App数据采集方法及系统,所述方法包括对群控平台中所有应用软件进行遍历采集,得到群控平台应用软件信息;对群控平台应用软件中的内容进行深度优先遍历采集,并将获取的内容进行整合;对整合后的采集内容进行判断清洗,获得最终应用软件通用内容。通过采用改进的深度优先遍历算法完成采集工作,保证了采集数据的全面性,同时提高了采集效率。集效率。集效率。

【技术实现步骤摘要】
一种App数据采集方法及系统


[0001]本专利技术涉及移动应用
,尤其涉及一种App数据采集方法及系统。

技术介绍

[0002]当前,移动互联网应用已超越互联网与通信领域范畴,快速向智能电视等新型智能硬件领域延伸,移动应用作为一种重要的互联网信息服务方式,其普及和使用为用户带来了庞大的数据,确保其提供的内容安全至关重要,但目前尚不具备成熟的工具对移动应用的数据进行获取和分析,与此同时,以Android为代表的移动互联网平台正逐步成为恶意应用滋生的重灾区,因此,对移动应用开展内容安全监测及其重要。
[0003]开展内容安全监测工作的第一步就是要批量、自动化的获取移动应用的内容信息。由于各个APP应用开发没有统一的标准,后台数据交互方式不一致,难以实现通用的数据获取框架,而定制化开发的时间成本较高,难以快速实现信息安全监测评估。此外,由于移动应用的界面系统和基于HTML(HyperText Markup Language,超文本标记语言)的网页有较大差异,Web界面的自动化爬虫无法简单地在移动应用的视图爬取中使用。另外,移动应用的视图元素缺乏类似URL(Universal Resource Locator,统一资源定位符)的较为稳定的资源定位符,在爬取大量移动应用的试图元素之后,难以像Web爬虫一样通过URL对元素进行稳定的界面重现和相似性判定等工作。
[0004]对于上述问题的解决方法有很多,公开号为CN112364227A的中国专利“一种移动APP数据采集方法”,根据APP中的网络请求数据包,获取签名字段,在APP源码搜索签名字段,获取签名字段的签名算法的相关代码及方法,若未获取签名算法的相关代码及方法,则在APP源码搜索网络请求的关键字,获取签名字段的签名算法的相关代码及方法,利用插桩工具验证签名算法的相关代码及方法,并获取分析签名的原始参数,利用签名算法的HOOK插件及原始参数对APP需要签名的数据进行签名,通过爬虫工具利用签名后数据发起网络请求进行数据采集。但本申请专利技术人在实现中所述专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:通用性差,采集效率低的技术问题。

技术实现思路

[0005]针对上述技术问题,本专利技术针提供了一种App数据采集方法及系统。
[0006]本专利技术解决上述技术问题的技术方案如下:
[0007]一种App数据采集方法,包括以下步骤:
[0008]S1.对群控平台中所有应用软件进行遍历采集,得到群控平台应用软件信息;
[0009]S2.对群控平台应用软件中的内容进行深度优先遍历采集,并将获取的内容进行整合;
[0010]S3.对整合后的采集内容进行判断清洗,获得最终移动应用通用内容。
[0011]进一步地,所述S2对应用软件APP集合中的每个APP元素进行深度优先遍历采集,包括以下步骤:
[0012]第一步,选定某一APP中一个未被访问过的界面作为顶点V或者访问指定的起始顶点V,并将其标记为已访问过;
[0013]第二步,搜索与顶点V邻接的所有顶点,判断这些顶点是否被访问过,如果有未被访问过的顶点,则任选一个顶点W进行访问;再选取与顶点W邻接的未被访问的任一顶点并进行访问,一次重复进行;
[0014]当一个顶点的所有的邻接顶点都被访问过时,则依次回到最近被访问的顶点;若该顶点还有其他邻接顶点未被访问,则从这些未被访问的顶点中取出一个并重复上述过程,直到与起始顶点V相通的所有顶点都被访问过为止;
[0015]第三步,若在当前界面中依然有顶点未被访问,则在选取其中一个顶点作为起始顶点并访问,之后重复第二步,反之则遍历结束。
[0016]进一步地,第二步中,任选一个顶点W进行访问,即对于界面的内容进行采集,步骤如下:
[0017]对登录后的APP后进行模拟点击,进入界面,并判断点击元素是否为标题;
[0018]若点击元素为标题,则对当前界面内容进行获取,将该界面内容获取后,界面下滑;
[0019]若判定点击元素不是标题,则返回,进行界面下滑操作;
[0020]获取完当前界面后进行下滑操作,判断下滑是否到底;
[0021]判断下滑是否到底,每次滑动结束截取当前群控平台界面图像,与上一张图像进行相似度比较,判断两界面是否为不同界面,若为两个不同的界面,则利用正则表达式对界面内容采集;
[0022]若下滑未到底,则重新进行模拟点击,进行重复操作;若下滑到底则点击其他组件,完成全部点击后关闭APP。
[0023]进一步地,截取当前群控平台界面图像,与上一张图像进行相似度比较,判断两界面是否为不同界面,步骤如下:
[0024]计算得到两图像的相似度为:
[0025]S=coc
×
L(P
n
,P
f
)
×
C(P
n
,P
f
)
×
S(P
n
,P
f
)
[0026]其中,P
n
和P
f
为相邻两张图像,μ
n
、μ
f
为两图像的均值分,σ
n
、σ
f
为两图像的标准差,σ
n2
、σ
f2
为两图像的方差,σ
nf
为两图像的协方差;
[0027][0028][0029][0030]式子中,C1、C2、C3为常数;coc为相关因子,为:
[0031][0032]设定阈值θ,若S<θ,那么判定为两个不同的界面;
[0033]若S>θ,那么判定为两个相同的界面。
[0034]进一步地,所述步骤2中将获取的内容进行整合,包括以下步骤:
[0035]将采集到的内容按照类别属性不同进行分类,对采集内容进行清洗,清洗后根据类别存储到数据库中,得到内容采集集合:
[0036]Class={C1,C2,

,C
k


,C
K
}
[0037]其中,K表示类别属性的个数,C
k
表示第k种类别属性,k∈[1,K];
[0038][0039]矩阵C
k
中任意一个元素可用c
ij
表示,代表第k种类别属性下第i种子类别中的第j个元素,m表示子类别的个数,n表示子类别中元素个数,i∈[1,m],j∈[1,n]。
[0040]进一步地,所述步骤3对整合后的采集内容进行判断清洗,获得最终移动应用通用内容,包括:
[0041]通过对class中每个子集合分别利用最小二乘法进行拟合和拉格朗日插值法进行插值得到近似表达式{f1,f2};
[0042]定义契合因子:
[0043][0044]其中,i表示子集合中的第i个值;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种App数据采集方法,其特征在于,包括以下步骤:S1.对群控平台中所有应用软件进行遍历采集,得到群控平台应用软件信息;S2.对群控平台应用软件中的内容进行深度优先遍历采集,并将获取的内容进行整合;S3.对整合后的采集内容进行判断清洗,获得最终应用软件通用内容。2.根据权利要求1所述的一种App数据采集方法,其特征在于,群控平台应用软件信息包括对应APP的名称、包名、签名以及其他基础信息。3.根据权利要求1所述的一种App数据采集方法,其特征在于,所述S2对应用软件APP集合中的每个APP元素进行深度优先遍历采集,包括以下步骤:第一步,选定某一APP中一个未被访问过的界面作为顶点V或者访问指定的起始顶点V,并将其标记为已访问过;第二步,搜索与顶点V邻接的所有顶点,判断这些顶点是否被访问过,如果有未被访问过的顶点,则任选一个顶点W进行访问;再选取与顶点W邻接的未被访问的任一顶点并进行访问,一次重复进行;当一个顶点的所有的邻接顶点都被访问过时,则依次回到最近被访问的顶点;若该顶点还有其他邻接顶点未被访问,则从这些未被访问的顶点中取出一个并重复上述过程,直到与起始顶点V相通的所有顶点都被访问过为止;第三步,若在当前界面中依然有顶点未被访问,则在选取其中一个顶点作为起始顶点并访问,之后重复第二步,反之则遍历结束。4.根据权利要求3所述的一种App数据采集方法,其特征在于,第二步中,任选一个顶点W进行访问,即对于界面的内容进行采集,步骤如下:对登录后的APP后进行模拟点击,进入界面,并判断点击元素是否为标题;若点击元素为标题,则对当前界面内容进行获取,将该界面内容获取后,界面下滑;若判定点击元素不是标题,则返回,进行界面下滑操作;判断下滑是否到底,每次滑动结束截取当前群控平台界面图像,与上一张图像进行相似度比较,判断两界面是否为不同界面,若为两个不同的界面,则利用正则表达式对界面内容采集;若下滑未到底,则重新进行模拟点击,进行重复操作;若下滑到底则点击其他组件,完成全部点击后关闭APP。5.根据权利要求4所述的一种App数据采集方法,其特征在于,截取当前群控平台界面图像,与上一张图像进行相似度比较,判断两界面是否为不同界面,步骤如下:计算得到两图像的相似度为:S=coc
×
L(P
n
,p
f
)
×
C(P
n
,P
f
)
×
S(P
n
,P
f
)其中,P
n
和P
f
为相邻两张图像,μ
n
、μ
f
为两图像的均值分,σ

【专利技术属性】
技术研发人员:李鹏霄王媛媛隋明爽艾政阳段荣昌王红兵时磊侯炜任博雅吕东王海洋
申请(专利权)人:国家计算机网络与信息安全管理中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1