CN107340954A - 一种信息提取方法和装置 - Google Patents
一种信息提取方法和装置 Download PDFInfo
- Publication number
- CN107340954A CN107340954A CN201710532768.7A CN201710532768A CN107340954A CN 107340954 A CN107340954 A CN 107340954A CN 201710532768 A CN201710532768 A CN 201710532768A CN 107340954 A CN107340954 A CN 107340954A
- Authority
- CN
- China
- Prior art keywords
- snipping tool
- snipping
- app
- word content
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种信息提取方法和装置,该方法包括:按照预定遍历算法获取预定应用软件APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,并将拼接后的文档进行保存,以还原预定APP的完整文字内容。本发明的信息提取方法自动获得准确的文字内容,并且适用于多种操作系统的多种APP,解决了现有技术的如下问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,而且提取的信息在可读性方面也具有较大的不确定性。
Description
技术领域
本发明涉及计算机领域,特别是涉及一种信息提取方法和装置。
背景技术
随着移动互联网的发展和移动应用程序的广泛使用,移动应用程序成为人们获取信息的重要途径。但是对于移动应用程序而言,只有在运行状态下,才能获取其真实的内部信息。对于海量的移动应用程序,如何有效的采集和监控移动应用运行状态的信息内容,对于移动应用程序的内容检查、通信数据安全保障尤为重要。
另外,目前移动应用程序运行环境有多种系统,不同系统下的应用程序的运行机制不同,而且越来越多的应用程序采用了加密技术传输通信内容,因此通过截获网络通信获取的信息内容都是加密的,无法转化为可读信息。一些动态调试的手段虽然能够提取应用程序运行过程中的信息,但是实现难度较大。不同系统的应用机制完全不同,现有信息提取方法难以适用于多种不同操作系统、不同应用程序,而且提取出的信息在可读性方面也具有较大的不确定性。
发明内容
本发明提供一种信息提取方法和装置,用以解决现有技术的如下问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,提取的信息在可读性方面也具有较大的不确定性。
为解决上述技术问题,一方面,本发明提供一种信息提取方法,包括:按照预定遍历算法获取预定APP(Application,应用软件)自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,并将拼接后的文档进行保存,以还原所述预定APP的完整文字内容。
可选的,所述预设命名规则为根据生成树方式为屏幕快照进行命名。
可选的,按照预定遍历算法获取预定APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称,包括:
S1,检测当前屏幕快照内是否存在网络链接;
S2,在存在网络链接的情况下,将所述网络链接下对应的屏幕快照设置为所述当前屏幕快照对应节点的子节点,并按照所述预设命名规则为各个子节点对应的屏幕快照进行命名;
S3,返回S1继续进行检测,直到根据所述预定遍历算法将所述预定APP的所有界面被遍历完成。
可选的,对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容,包括:对屏幕快照进行灰度处理,得到灰度化图像;对所述灰度化图像进行二值化处理,得到二值化图像;对所述二值化图像进行光学字符识别OCR处理,得到所述屏幕快照对应的文字内容。
可选的,按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,包括:根据当前的屏幕快照名称确定所述屏幕快照对应节点的母节点;将所述屏幕快照的文字内容与母节点屏幕快照的内容进行关联,得到初级文字内容;对所述初级文字内容进行冗余处理,得到准确的文字内容。
另一方面,为实现上述目的,本发明还提供一种信息提取装置,包括:获取模块,用于按照预定遍历算法获取预定APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;识别模块,用于对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;拼接模块,用于按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,以还原所述预定APP的完整文字内容;保存模块,用于将拼接后的文档进行保存。
可选的,所述预设命名规则为根据生成树方式为屏幕快照进行命名。
可选的,所述获取模块,具体用于:
S1,检测当前屏幕快照内是否存在网络链接;
S2,在存在网络链接的情况下,将所述网络链接下对应的屏幕快照设置为所述当前屏幕快照对应节点的子节点,并按照所述预设命名规则为各个子节点对应的屏幕快照进行命名;
S3,返回S1继续进行检测,直到根据所述预定遍历算法将所述预定APP的所有界面被遍历完成。
可选的,所述识别模块,具体用于:
对屏幕快照进行灰度处理,得到灰度化图像;对所述灰度化图像进行二值化处理,得到二值化图像;对所述二值化图像进行光学字符识别OCR处理,得到所述屏幕快照对应的文字内容。
可选的,所述拼接模块,具体用于:
根据当前的屏幕快照名称确定所述屏幕快照对应节点的母节点;将所述屏幕快照的文字内容与母节点屏幕快照的内容进行关联,得到初级文字内容;对所述初级文字内容进行冗余处理,得到准确的文字内容。
本发明在获取APP自动运行过程中所有界面的屏幕快照并按规则命名,随后获取每个屏幕快照对应的文字内容并按照名称进行拼接,将拼接后的文档进行保存,以还原预定APP的完整文字内容。这种方法可以自动获得准确的文字内容,并且适用于多种操作系统的多种APP,解决了现有技术的如下问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,而且提取的信息在可读性方面也具有较大的不确定性。
附图说明
图1是本发明第一实施例中信息提取方法的流程图;
图2是本发明第二实施例中信息提取装置的结构示意图;
图3是本发明第三实施例中APP自动运行模块的运行流程示意图;
图4是本发明第三实施例中信息提取方法的流程图。
具体实施方式
为了解决现有技术的问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,而且提取出的信息在可读性方面也具有较大的不确定性;本发明第一实施例提供了一种信息提取方法,该方法流程图如图1所示,包括步骤S102至S106:
S102,按照预定遍历算法获取预定APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;
S104,对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;
S106,按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,并将拼接后的文档进行保存,以还原预定APP的完整文字内容。
在按照预设命名规则为得到的每个屏幕快照确定名称时,可以按照生成树方式为屏幕快照进行命名。具体实现时,生成树的节点设置可以参考如下原则:APP屏幕快照与屏幕快照中的链接,可以抽象为多叉树的根节点与子节点的关系;多个屏幕快照之间的关系则可抽象为包含多棵多叉树的森林的关系;包含链接点击区域的屏幕快照结点可以抽象为多叉树的非叶子结点;只包含文字信息,不包含链接点击区域的屏幕快照结点可以抽象为多叉树的叶子结点。
在确定按照生成树方式为屏幕快照进行命名的情况下,获取预定APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称,在具体实现时,还应包括步骤S1至S3:
S1,检测当前屏幕快照内是否存在网络链接;
S2,在存在网络链接的情况下,将网络链接下对应的屏幕快照设置为当前屏幕快照对应节点的子节点,并按照预设命名规则为各个子节点对应的屏幕快照进行命名;
S3,返回S1继续进行检测,直到根据预定遍历算法将预定APP的所有界面被遍历完成。
例如,当模拟在手机上打开新浪新闻APP时,采用本发明提供的信息提取方法,首先获取新浪新闻APP首页的屏幕快照,首页图形界面的长度大于手机屏幕的高度,即一屏范围内不能显示首页图形界面的全部内容。为获取首页的全部内容,首页图形界面截图产生的快照有两张,按照生成树命名方式,将这两张快照命名为1A和1B,并检测1A和1B的屏幕快照中是否存在网络链接;进一步,检测到在首页的屏幕快照1A中存在若干网络链接,如生活版块、时政新闻版块、体育版块、汽车版块等链接,首页的屏幕快照1B中存在若干链接,如财经版块、娱乐版块、游戏版块、房产版块等链接;进一步,获取这些链接对应的屏幕快照,并将这些屏幕快照设置为首页的屏幕快照对应节点的子节点,并将这些快照分别依次命名为:1A-1、1A-2、1A-3、1A-4……以及1B-1、1B-2、1B-3、1B-4……;进一步,采用本发明提供的信息提取方法,再检测某一版块链接对应的快照是否存在网络链接,例如,检测1A-3体育版块和1B-1财经版块的快照存在的所有链接,在新浪新闻APP中,体育版块中包括足球、篮球、排球和乒乓球等网络链接,财经版块在包括股票、基金、外汇等网络链接,获取这些网络链接对应的所有屏幕快照,将这些屏幕快照设置为体育版块和财经版块的屏幕快照对应节点的子节点,并将这些快照分别依次命名为1A-3-1、1A-3-2、1A-3-3、1A-3-4……以及1B-1-1、1B-1-2、1B-1-3、1B-1-4……。
以此类推,即可获取应用软件APP自动运行过程中所有界面的屏幕快照,并可以按照预设命名规则为得到的每个屏幕快照确定名称。
在具体实现时,为了保证文字识别的准确率并提取信息,因此,对获取到的所有屏幕快照进行文字识别、以得到每个屏幕快照对应的文字内容时,还应包括:对屏幕快照进行灰度处理,得到灰度化图像;对灰度化图像进行二值化处理,得到二值化图像;对二值化图像进行光学字符识别OCR处理,得到屏幕快照对应的文字内容。
在本实施例的信息提取方法中,对于屏幕快照最主要的处理操作是图片二值化,而二值化的操作是针对灰度图像的,因此在图像二值化之前需要对图片进行灰度化处理,把像素点的红绿蓝RGB多分量表示转换成只有一个值的灰度值,实现图片的灰度化处理。对遍历过程中得到的所有屏幕快照进行处理,在得到屏幕快照的二值化图像后,对二值化图像进行OCR处理,得到所有屏幕快照对应的文字内容。
在具体实现时,为了准确的还原预定APP的内容,按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,还可以包括如下过程:根据当前的屏幕快照名称确定屏幕快照对应节点的母节点;将屏幕快照的文字内容与母节点屏幕快照的内容进行关联,得到初级文字内容;对初级文字内容进行冗余处理,得到准确的文字内容。
信息拼接是获取屏幕快照并命名过程的逆过程,例如,根据上述获取屏幕快照并命名的过程,当获得的屏幕快照为足球版块的屏幕快照1A-3-1时,可以确定该屏幕快照对应节点的母节点,母节点对应的快照为体育版块的屏幕快照1A-3,将1A-3-1的文字内容与1A-3的文字内容进行关联,体育版块的屏幕快照1A-3对应节点的母节点为首页的屏幕快照1A,将1A-3的文字内容与1A的文字内容进行关联,以此类推,对篮球版块的屏幕快照、排球版块的屏幕快照等所有屏幕快照重复上述过程,可以得到初级文字内容。为保证信息的准确提取,当获取快照的过程中出现重复截图的情况或者部分链接重复截取的情况时,还需要对重复的文字内容进行重复处理,得到准确的文字内容。
本发明第一实施例的信息提取方法,在获取APP自动运行过程中所有界面的屏幕快照并按规则命名,随后获取每个屏幕快照对应的文字内容并按照名称进行拼接,将拼接后的文档进行保存,以还原预定APP的完整文字内容。这种方法可以自动获得准确的文字内容,并且适用于多种操作系统的多种APP,解决了现有技术的如下问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,而且提取的信息在可读性方面也具有较大的不确定性。
本发明的第二实施例提供了一种信息提取装置,该装置的结构示意如图2所示,包括:获取模块10,用于按照预定遍历算法获取预定应用软件APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;识别模块20,与获取模块10耦合,用于对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;拼接模块30,与识别模块20耦合,用于按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,以还原预定APP的完整文字内容;保存模块40,与拼接模块30耦合,用于将拼接后的文档进行保存。
在按照预设命名规则为得到的每个屏幕快照确定名称时,可以按照生成树方式为屏幕快照进行命名。具体实现时,生成树的节点设置可以参考如下原则:APP屏幕快照与屏幕快照中的链接,可以抽象为多叉树的根节点与子节点的关系;多个屏幕快照之间的关系则可抽象为包含多棵多叉树的森林的关系;包含链接点击区域的屏幕快照结点可以抽象为多叉树的非叶子结点;只包含文字信息,不包含链接点击区域的屏幕快照结点可以抽象为多叉树的叶子结点。
在具体实现时,获取模块基于上述生成树的命名规则,还可以进一步用于:
S1,检测当前屏幕快照内是否存在网络链接;
S2,在存在网络链接的情况下,将网络链接下对应的屏幕快照设置为当前屏幕快照对应节点的子节点,并按照预设命名规则为各个子节点对应的屏幕快照进行命名;
S3,返回S1继续进行检测,直到根据预定遍历算法将预定APP的所有界面被遍历完成。
例如,当模拟在手机上打开新浪新闻APP时,采用本发明提供的信息提取装置,由获取模块获取新浪新闻APP首页的屏幕快照,首页图形界面的长度大于手机屏幕的高度,即一屏范围内不能显示首页图形界面的全部内容。为获取首页的全部内容,首页图形界面截图产生的快照有两张,将这两张快照命名为1A和1B,以便检测首页的屏幕快照中是否存在网络链接;进一步,检测到在首页的屏幕快照1A中存在若干网络链接,如生活版块、时政新闻版块、体育版块、汽车版块等链接,首页的屏幕快照1B中存在若干链接,如财经版块、娱乐版块、游戏版块、房产版块等链接;进一步,获取这些链接对应的屏幕快照,并将这些屏幕快照设置为首页的屏幕快照对应节点的子节点,并将这些快照分别依次命名为:1A-1、1A-2、1A-3、1A-4……以及1B-1、1B-2、1B-3、1B-4……;进一步,获取模块再检测某一版块链接对应的快照是否存在网络链接,例如,检测1A-3体育版块和1B-1财经版块的快照存在的所有链接,在新浪新闻APP中,体育版块中包括足球、篮球、排球和乒乓球等网络链接,财经版块中包括股票、基金、外汇等网络链接,获取这些网络链接对应的所有屏幕快照,将这些屏幕快照设置为体育版块和财经版块的屏幕快照对应节点的子节点,并将这些快照分别依次命名为1A-3-1、1A-3-2、1A-3-3、1A-3-4……以及1B-1-1、1B-1-2、1B-1-3、1B-1-4……。
以此类推,获取模块即可获取APP自动运行过程中所有界面的屏幕快照,并可以按照预设命名规则为得到的每个屏幕快照确定名称。
在具体实现时,为了保证文字识别的准确率并提取信息,识别模块用于:对屏幕快照进行灰度处理,得到灰度化图像;对灰度化图像进行二值化处理,得到二值化图像;对二值化图像进行光学字符识别OCR处理,得到屏幕快照对应的文字内容。
在本实施例的信息提取装置中,识别模块对于屏幕快照最主要的处理操作是图片二值化,而二值化的操作是针对灰度图像的,因此在图像二值化之前需要对图片进行灰度化处理,把像素点的红绿蓝RGB多分量表示转换成只有一个值的灰度值,实现图片的灰度化处理。对获取模块得到的所有屏幕快照进行处理,在得到屏幕快照的二值化图像后,对二值化图像进行OCR处理,得到所有屏幕快照对应的文字内容。
在具体实现时,为了准确的还原预定APP的内容,拼接模块具体用于:根据当前的屏幕快照名称确定屏幕快照对应节点的母节点;将屏幕快照的文字内容与母节点屏幕快照的内容进行关联,得到初级文字内容;对初级文字内容进行冗余处理,得到准确的文字内容。
拼接模块实现其功能的过程是获取模块实现其功能的过程的逆过程,例如,根据上述获取屏幕快照并命名的过程,当获得的屏幕快照为足球版块的屏幕快照1A-3-1时,可以确定该屏幕快照对应节点的母节点,母节点对应的快照为体育版块的屏幕快照1A-3,将1A-3-1的文字内容与1A-3的文字内容进行关联,体育版块的屏幕快照1A-3对应节点的母节点为首页的屏幕快照1A,将1A-3的文字内容与1A的文字内容进行关联,以此类推,对篮球版块的屏幕快照、排球版块的屏幕快照等所有屏幕快照重复上述过程,可以得到初级文字内容。为保证信息的准确提取,当获取快照的过程中出现重复截图的情况或者部分链接重复截取的情况时,还需要对重复的文字内容进行重复处理,得到准确的文字内容。
本发明第二实施例的信息提取装置,该装置的获取模块在获取APP自动运行过程中所有界面的屏幕快照并按规则命名后,识别模块对每个屏幕快照对应的文字内容进行识别,拼接模块按照屏幕快照名称进行拼接,保存模块将拼接后的文档进行保存,以还原预定APP的完整文字内容。这种装置可以自动获得准确的文字内容,并且适用于多种操作系统的多种APP,解决了现有技术的如下问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,而且提取的信息在可读性方面也具有较大的不确定性。
本发明的第三实施例提供了一种信息提取方法,本方法可以实现如下功能:实现程序智能的对所分析的APP进行GUI(图形用户界面)的遍历;实现APP自动模拟人行为的操作;实现APP的自动点击APP中的链接、自动的进行手机滑屏操作、智能的返回上一级或进入下一级界面的操作;通过对屏幕快照进行截取以及OCR(光学字符识别)提取可读信息。本方法的技术方案如下:
(1)本实施例提供了一个自动获取屏幕快照的过程,即构建一个APP自动运行模块(相当于上述第二实施例中获取模块),用于遍历APP的GUI并进行截图。该模块运行流程如图3所示,包括:APP控制中心(相当于上述第二实施例中获取模块的部分功能)、APP自动化测试工具(相当于上述第二实施例中获取模块的部分功能)、手机模拟器(相当于上述第二实施例中获取模块的部分功能,用于模拟APP运行,以辅助获得屏幕快照)以及对外交互接口。
在具体实现时,APP控制中心向APP自动化测试工具发送指令,APP自动化测试工具根据APP控制中心的指令,向手机模拟器发送模拟操作控制流,并接收返回的状态流或屏幕快照截图,APP自动化测试工具将截图发送回APP控制中心,由APP控制中心将截图发送给对外交互接口。上述过程是在后台运行的,对外交互接口则负责APP自动运行模块与前台进行通信。
(2)本实施例提供了APP的GUI遍历策略方法和APP操作响应判定过程。
APP的GUI的快照与快照中的链接,可以抽象为多叉树的根节点与子节点的关系;多个GUI的快照之间的关系则可抽象为包含多棵多叉树的森林的关系;包含链接点击区域的快照结点可以抽象为多叉树的非叶子结点,而只包含文字信息,不包含链接点击区域的快照结点可以抽象为多叉树的叶子结点。
在具体应用时,多叉树的遍历主要有两种方法:深度遍历和广度遍历。在APP的GUI深度遍历具体是指:在遍历过程中,每截取一次快照,便立即对当前快照中的所有链接区域进行点击操作,待所有链接对应的子界面的快照被截取之后,才返回到上一级获取新的快照和链接区域。广度遍历,是先确定顶级页面所有的链接区域,也就是先对本层界面全部遍历完以后,才进行下一级的链接点击操作。本发明中采用深度遍历算法对GUI进行遍历,深度遍历算法较广度遍历算法,遍历过程中更方便,效率较高。
为了准确的获得GUI快照,本发明提供的方法需要对APP操作产生的响应进行判断,具体方法包括:分析网络通信行为的方法、图片Hash值对比的方法以及综合延时处理的方法。
为了判断遍历过程中是否发生网络响应,采用分析网络通信行为的方法,该方法是通过后台网络分析模块监控手机的网络通信行为,监控远程是否有数据包响应。
为了避免遍历过程中重复截取GUI的快照,采用图片Hash值对比方法,该方法对比的是两张图片进行特殊处理后的图像指纹的汉明码的距离,若汉明码距离为0则可以断定图片相同,若距离大于10(两个指纹二进制序列异或操作后结果中1的位数大于10位),可以断定图片肯定不相同。
为了判断遍历过程中是否发生界面响应,采用综合延时处理的方法,该方法具体过程是:在程序刚启动时,根据特定APP的响应时延设置一个的延时,防止在程序启动前广告界面或者其他无用信息界面的出现;在这个时延当中,后台实时监控是否有由远程服务器传回的特定通信数据包,若有网络返回则得到了远程服务器的响应;然后对比启动时GUI快照和时延后的GUI快照,确定是否发生了界面响应。若发生了界面响应,则表明在遍历过程中点击进入了某快照中的某个链接对应的界面,此时,由于发生界面跳转,自然意味着网络已经响应。
(3)本实施例提供了一种APP屏幕智能截取和内容拼接过程。
对APP的GUI进行图片截取需要满足以下3个要求:
第一,必须对APP所有的GUI进行全面的遍历;
第二,在截取快照的过程中避免对图片的重复截取;
第三,对快照截取的前提是在点击或其他操作后发生了网络响应,保证界面中有最新的内容。
在本发明中,通过APP自动化测试工具发出截屏命令对当前GUI的快照进行截取。发生点击、滑屏等可以界面响应的操作行为后,对屏幕截取前需要判断界面是否响应和变化,若界面确实已响应并跳转则对屏幕快照进行截取。
在对GUI截取的快照进行拼接方面,对于非指定的APP,设定滑屏高度的值应小于屏幕的高度,因为手机屏幕顶部有一个固定的GUI部分,如果下滑屏幕高度设置为屏幕高度,可能会造成APP的GUI的数据的丢失。此外,如果由于下滑高度小于屏幕高度可能造成GUI的快照衔接部分被重复的截取,造成的链接区域重复被选取,可以通过点击当前快照图片的顶端的链接的下一级界面的截图和上一个快照最底端链接的下一级界面截图作对比,如果GUI快照有相同部分,则说明出现了冗余,需要进行消除重复处理,把重复采入的链接区域坐标排除。
(4)本实施例提供了一种信息内容的提取、拼接和还原过程。
在对屏幕快照进行提取后,对提取后的信息进行拼接与还原操作,该拼接和还原操作是GUI遍历过程的逆过程,把OCR识别出的分散的结果块进行重组,对块与块之间的结构还原,实现原APP信息内容的还原。信息拼接操作针对的是包含了链接点击区域的GUI快照,因为根据深度遍历策略,包含了链接点击区域的快照,在识别过程中对图片的识别过程不是连续的把当前页面所有的快照进行识别,而是先访问当前页面对应的所有下一级页面,再对当前页面进行滑屏操作,进而对GUI快照进行文字识别。
在对GUI快照进行OCR识别时,对应不同节点的快照采取不同的命名,同级界面中GUI快照截取存在先后顺序,因此,在OCR识别时,图片文件名也按遍历时GUI快照的生成顺序进行了标号处理;文件的存放目录和文件命名方式都有一个固定的规则,在本发明中是生成树规则。因此,对提取出的信息内容的拼接主要是根据结果文件的名称和存储的目录的特点进行分析,实现对APP结构的还原。
以下根据图3和图4对本发明的第三实施例进行详细说明。
本发明第三实施例提供的信息提取方法可以在获取Root权限后的Android系统以及越狱root权限的iOS系统中执行。本实施例所使用的APP自动测试工具为安卓平台的monkey、monkeyrunner以及iOS平台的AutoTouch,本实施例所使用的OCR字符识别模块是基于工具tesseract进行设计的。该方法流程如图4所示,包括步骤S401至S407:
S401,由WEB前端交互界面上传APP至APP自动运行装置(即上述APP自动运行模块)。该APP自动运行装置用于自动运行APP并遍历APP中各个界面,以进行截图。
S402,安装并启动APP。在本实施例中,APP安装是由APP自动运行装置主动的对APP进行安装,并启动运行,以获取屏幕快照。
S403,获取APP运行过程中所有界面的屏幕快照。在本实施例中,APP自动运行模块按照深度优先的方式对APP界面进行自动遍历。另外,在截取用于识别的屏幕快照前,需判断是否发生了界面响应和网络响应,只有这两个响应都发生了,APP自动运行模块才对屏幕快照进行截取。
S404,对屏幕快照进行预处理。在本实施例中,为了高效准确的对快照中的文字内容进行识别,需要对图片进行预处理操作和字典库的训练来保证识别的准确率。图像预处理最主要的处理操作是图片二值化,二值化的操作是针对灰度图像的,因此在图片二值化之前需要对图片进行灰度化处理,把像素点的RGB多分量表示转换成只有一个值的灰度值,实现图片的灰度化处理。
S405,识别处理后的屏幕快照。在本实施例中,处理后的图像传递给文字识别模块进行OCR识别。
S406,信息拼接和还原。在本实施例中,把OCR识别的分散的结果块进行结构还原,实现信息的拼接和还原,并把拼接还原的结果输出进行存储。
S407,用户检索内容。在本实施例中,当实现了对APP的内容进行信息提取之后,用户对关键字的检索是通过前端进行交互,从数据库或者文件系统中把用户查询的数据读取出来,并转发给前端界面进行显示。
本发明第三实施例的信息提取方法,采用深度遍历的方法获取APP自动运行过程中所有界面的GUI快照并按生成树的规则命名,随后采用OCR方法获取每个GUI快照对应的文字内容并按照快照命名进行拼接,将拼接后的文档对应着快照命名规则进行保存,以还原预定APP的完整文字内容。这种方法可以自动获得准确的文字内容,并且适用于多种操作系统的多种APP,解决了现有技术的如下问题:现有信息提取方法无法实现针对多种不同操作系统、不同应用程序的信息提取,而且提取的信息在可读性方面也具有较大的不确定性。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (10)
1.一种信息提取方法,其特征在于,包括:
按照预定遍历算法获取预定应用软件APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;
对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;
按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,并将拼接后的文档进行保存,以还原所述预定APP的完整文字内容。
2.如权利要求1所述的信息提取方法,其特征在于,所述预设命名规则为根据生成树方式为屏幕快照进行命名。
3.如权利要求2所述的信息提取方法,其特征在于,按照预定遍历算法获取预定APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称,包括:
S1,检测当前屏幕快照内是否存在网络链接;
S2,在存在网络链接的情况下,将所述网络链接下对应的屏幕快照设置为所述当前屏幕快照对应节点的子节点,并按照所述预设命名规则为各个子节点对应的屏幕快照进行命名;
S3,返回S1继续进行检测,直到根据所述预定遍历算法将所述预定APP的所有界面被遍历完成。
4.如权利要求3所述的信息提取方法,其特征在于,对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容,包括:
对屏幕快照进行灰度处理,得到灰度化图像;
对所述灰度化图像进行二值化处理,得到二值化图像;
对所述二值化图像进行光学字符识别OCR处理,得到所述屏幕快照对应的文字内容。
5.如权利要求3所述的信息提取方法,其特征在于,按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,包括:
根据当前的屏幕快照名称确定所述屏幕快照对应节点的母节点;
将所述屏幕快照的文字内容与母节点屏幕快照的内容进行关联,得到初级文字内容;
对所述初级文字内容进行冗余处理,得到准确的文字内容。
6.一种信息提取装置,其特征在于,包括:
获取模块,用于按照预定遍历算法获取预定应用软件APP自动运行过程中所有界面的屏幕快照,并按照预设命名规则为得到的每个屏幕快照确定名称;
识别模块,用于对获取到的所有屏幕快照进行文字识别,以得到每个屏幕快照对应的文字内容;
拼接模块,用于按照每个屏幕快照的名称将各个屏幕快照对应的文字内容进行拼接,以还原所述预定APP的完整文字内容;
保存模块,用于将拼接后的文档进行保存。
7.如权利要求6所述的信息提取装置,其特征在于,所述预设命名规则为根据生成树方式为屏幕快照进行命名。
8.如权利要求7所述的信息提取装置,其特征在于,所述获取模块,具体用于:
S1,检测当前屏幕快照内是否存在网络链接;
S2,在存在网络链接的情况下,将所述网络链接下对应的屏幕快照设置为所述当前屏幕快照对应节点的子节点,并按照所述预设命名规则为各个子节点对应的屏幕快照进行命名;
S3,返回S1继续进行检测,直到根据所述预定遍历算法将所述预定APP的所有界面被遍历完成。
9.如权利要求8所述的信息提取装置,其特征在于,所述识别模块,具体用于:
对屏幕快照进行灰度处理,得到灰度化图像;对所述灰度化图像进行二值化处理,得到二值化图像;对所述二值化图像进行光学字符识别OCR处理,得到所述屏幕快照对应的文字内容。
10.如权利要求8所述的信息提取装置,其特征在于,所述拼接模块,具体用于:
根据当前的屏幕快照名称确定所述屏幕快照对应节点的母节点;将所述屏幕快照的文字内容与母节点屏幕快照的内容进行关联,得到初级文字内容;对所述初级文字内容进行冗余处理,得到准确的文字内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710532768.7A CN107340954A (zh) | 2017-07-03 | 2017-07-03 | 一种信息提取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710532768.7A CN107340954A (zh) | 2017-07-03 | 2017-07-03 | 一种信息提取方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107340954A true CN107340954A (zh) | 2017-11-10 |
Family
ID=60219451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710532768.7A Pending CN107340954A (zh) | 2017-07-03 | 2017-07-03 | 一种信息提取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107340954A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710140A (zh) * | 2018-12-25 | 2019-05-03 | 清创网御(合肥)科技有限公司 | 一种智能手机社交应用数据自动采集方法 |
CN109902234A (zh) * | 2019-03-04 | 2019-06-18 | 上海卓易科技股份有限公司 | 一种数据收集方法、装置、设备及存储介质 |
CN110119648A (zh) * | 2018-02-05 | 2019-08-13 | 国家计算机网络与信息安全管理中心 | 一种基于光学字符识别的传真图像分类方法 |
CN110287091A (zh) * | 2019-05-10 | 2019-09-27 | 国家计算机网络与信息安全管理中心 | 一种应用软件安装过程中的检测方法及装置 |
CN110362375A (zh) * | 2019-07-11 | 2019-10-22 | 广州虎牙科技有限公司 | 桌面数据的显示方法、装置、设备和存储介质 |
CN112256636A (zh) * | 2020-11-10 | 2021-01-22 | 国网湖南省电力有限公司 | 面向移动应用app的数据采集系统 |
CN113176979A (zh) * | 2021-05-24 | 2021-07-27 | 平安国际智慧城市科技股份有限公司 | 应用程序异常监控方法、装置、计算机设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013394A1 (en) * | 2004-06-28 | 2009-01-08 | Marcus Jane B | System for providing single sign-on user names for web cookies in a multiple user information directory environment |
US20090158190A1 (en) * | 2007-12-13 | 2009-06-18 | Yuvee, Inc. | Computing apparatus including a personal web and application assistant |
CN103514234A (zh) * | 2012-06-30 | 2014-01-15 | 北京百度网讯科技有限公司 | 一种页面信息提取方法和装置 |
CN105095207A (zh) * | 2014-04-18 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 检索、获取应用软件内容的方法和装置 |
CN105453052A (zh) * | 2013-08-16 | 2016-03-30 | 国际商业机器公司 | 使用现场测试在软件程序中自动捕获用户交互并评估用户接口 |
CN105786709A (zh) * | 2016-03-22 | 2016-07-20 | 东软集团股份有限公司 | 测试问题的提交方法及系统 |
CN105955889A (zh) * | 2016-05-11 | 2016-09-21 | 南京大学 | 一种图形界面自动化测试方法 |
CN106202194A (zh) * | 2016-06-27 | 2016-12-07 | 北京小米移动软件有限公司 | 截屏图片的存储方法及装置 |
CN106254104A (zh) * | 2016-07-28 | 2016-12-21 | 杭州昆海信息技术有限公司 | 一种安装状态的获取方法及装置 |
-
2017
- 2017-07-03 CN CN201710532768.7A patent/CN107340954A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090013394A1 (en) * | 2004-06-28 | 2009-01-08 | Marcus Jane B | System for providing single sign-on user names for web cookies in a multiple user information directory environment |
US20090158190A1 (en) * | 2007-12-13 | 2009-06-18 | Yuvee, Inc. | Computing apparatus including a personal web and application assistant |
CN103514234A (zh) * | 2012-06-30 | 2014-01-15 | 北京百度网讯科技有限公司 | 一种页面信息提取方法和装置 |
CN105453052A (zh) * | 2013-08-16 | 2016-03-30 | 国际商业机器公司 | 使用现场测试在软件程序中自动捕获用户交互并评估用户接口 |
CN105095207A (zh) * | 2014-04-18 | 2015-11-25 | 阿里巴巴集团控股有限公司 | 检索、获取应用软件内容的方法和装置 |
CN105786709A (zh) * | 2016-03-22 | 2016-07-20 | 东软集团股份有限公司 | 测试问题的提交方法及系统 |
CN105955889A (zh) * | 2016-05-11 | 2016-09-21 | 南京大学 | 一种图形界面自动化测试方法 |
CN106202194A (zh) * | 2016-06-27 | 2016-12-07 | 北京小米移动软件有限公司 | 截屏图片的存储方法及装置 |
CN106254104A (zh) * | 2016-07-28 | 2016-12-21 | 杭州昆海信息技术有限公司 | 一种安装状态的获取方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119648A (zh) * | 2018-02-05 | 2019-08-13 | 国家计算机网络与信息安全管理中心 | 一种基于光学字符识别的传真图像分类方法 |
CN109710140A (zh) * | 2018-12-25 | 2019-05-03 | 清创网御(合肥)科技有限公司 | 一种智能手机社交应用数据自动采集方法 |
CN109902234A (zh) * | 2019-03-04 | 2019-06-18 | 上海卓易科技股份有限公司 | 一种数据收集方法、装置、设备及存储介质 |
CN110287091A (zh) * | 2019-05-10 | 2019-09-27 | 国家计算机网络与信息安全管理中心 | 一种应用软件安装过程中的检测方法及装置 |
CN110362375A (zh) * | 2019-07-11 | 2019-10-22 | 广州虎牙科技有限公司 | 桌面数据的显示方法、装置、设备和存储介质 |
CN112256636A (zh) * | 2020-11-10 | 2021-01-22 | 国网湖南省电力有限公司 | 面向移动应用app的数据采集系统 |
CN113176979A (zh) * | 2021-05-24 | 2021-07-27 | 平安国际智慧城市科技股份有限公司 | 应用程序异常监控方法、装置、计算机设备及存储介质 |
CN113176979B (zh) * | 2021-05-24 | 2022-11-04 | 深圳赛安特技术服务有限公司 | 应用程序异常监控方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107340954A (zh) | 一种信息提取方法和装置 | |
CN108595583B (zh) | 动态图表类页面数据爬取方法、装置、终端及存储介质 | |
CN112749284B (zh) | 知识图谱构建方法、装置、设备及存储介质 | |
US20210318851A1 (en) | Systems and Methods for Dataset Merging using Flow Structures | |
US10963138B1 (en) | Webpage testing tool | |
CN107608874A (zh) | 测试方法和装置 | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN109005145A (zh) | 一种基于自动特征抽取的恶意url检测系统及其方法 | |
CN103605738A (zh) | 网页访问数据统计方法及装置 | |
KR102034346B1 (ko) | 학습 기반의 비속어 탐지 장치 및 방법 | |
CN103577556A (zh) | 一种获取问答对的相关联程度的装置和方法 | |
CN104391796B (zh) | 一种测试用例解析方法 | |
CN107085549B (zh) | 故障信息生成的方法和装置 | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN103970898A (zh) | 一种基于多级规则库的信息提取方法及装置 | |
CN111447224A (zh) | web漏洞扫描方法及漏洞扫描器 | |
CN103914488A (zh) | 文档的采集、标识、关联、搜索及展现的系统 | |
CN107766234A (zh) | 一种基于移动设备的网页健康度的测评方法、装置及系统 | |
CN104182347A (zh) | 一种基于自动化测试平台的测试需求自动分析方法 | |
US20220092130A1 (en) | Intelligent search engine | |
CN110096539A (zh) | 在线批量导入试题方法以及装置 | |
CN112966076A (zh) | 智能问答问题的生成方法、装置、计算机设备及存储介质 | |
CN110275938B (zh) | 基于非结构化文档的知识提取方法及系统 | |
CN103577557A (zh) | 一种确定网络资源点的抓取频率的装置和方法 | |
CN106021631A (zh) | 交互式数字集成电路仿真验证方法、服务器、客户端及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210827 |
|
AD01 | Patent right deemed abandoned |