CN111104577B - 数据处理方法、装置、计算机可读存储介质及电子设备 - Google Patents
数据处理方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN111104577B CN111104577B CN201911054676.8A CN201911054676A CN111104577B CN 111104577 B CN111104577 B CN 111104577B CN 201911054676 A CN201911054676 A CN 201911054676A CN 111104577 B CN111104577 B CN 111104577B
- Authority
- CN
- China
- Prior art keywords
- data
- application
- application data
- mobile terminal
- server
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000005336 cracking Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012800 visualization Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000013481 data capture Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009193 crawling Effects 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开的实施例提供一种数据处理方法、装置、计算机可读存储介质及电子设备。该方法包括:获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,第一服务器为第一应用的后台服务器;将应用数据获取请求转发至第一服务器;获取第一服务器响应于应用数据获取请求返回的第一应用数据;根据第一应用数据,进行数据存储。与现有技术相比,本公开的实施例中的应用数据抓取技术的实现难度更低且实施起来更为便捷。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、计算机可读存储介质及电子设备。
背景技术
随着互联网行业从个人电脑(Personal Computer,PC)端到移动端的演变,针对移动端的应用数据抓取技术越来越被重视,现有的应用数据抓取技术需要进行应用破解,这样会导致应用数据抓取技术的实现难度较大。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种数据处理方法、装置、计算机可读存储介质设备及电子设备。
根据本公开实施例的一个方面,提供了一种数据处理方法,包括:
获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,所述第一服务器为所述第一应用的后台服务器;
将所述应用数据获取请求转发至所述第一服务器;
获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据;
根据所述第一应用数据,进行数据存储。
在一个可选示例中,所述获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求之前,所述方法还包括:
向所述移动终端发送控制指令;
其中,所述控制指令用于触发所述移动终端发送所述应用数据获取请求。
在一个可选示例中,所述向所述移动终端发送控制指令,包括:
确定所述第一应用对应的第一数据类型;
向所述移动终端发送携带所述第一数据类型的控制指令;
其中,所述应用数据获取请求的所请求数据类型为所述第一数据类型。
在一个可选示例中,所述获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据之后,所述方法还包括:
将所述第一应用数据转发至所述移动终端;
其中,所述第一应用数据用于供所述移动终端展示所述第一应用的相应应用界面。
在一个可选示例中,所述方法还包括:
获取所述移动终端展示的,所述第一应用的应用界面中的第二应用数据;
根据所述第二应用数据,进行数据存储。
在一个可选示例中,所述根据所述第一应用数据,进行数据存储,包括:
对所述第一应用数据进行解析,以得到至少一个数据字段;
确定所述至少一个数据字段中的有效数据字段;
确定待存储的目标数据;其中,所述目标数据中包括所确定的有效数据字段。
根据所述第一应用数据的获取时间,确定存储位置;
将所述目标数据存储至所述存储位置。
根据本公开实施例的一个方面,提供了一种数据处理装置,包括:
第一获取模块,用于获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,所述第一服务器为所述第一应用的后台服务器;
转发模块,用于将所述应用数据获取请求转发至所述第一服务器;
第二获取模块,用于获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据;
第一存储模块,用于根据所述第一应用数据,进行数据存储。
在一个可选示例中,所述装置还包括:
发送模块,用于在获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求之前,向所述移动终端发送控制指令;
其中,所述控制指令用于触发所述移动终端发送所述应用数据获取请求。
在一个可选示例中,所述发送模块,包括:
第一确定单元,用于确定所述第一应用对应的第一数据类型;
发送单元,用于向所述移动终端发送携带所述第一数据类型的控制指令;
其中,所述应用数据获取请求的所请求数据类型为所述第一数据类型。
在一个可选示例中,所述装置还包括:
转发模块,用于在获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据之后,将所述第一应用数据转发至所述移动终端;
其中,所述第一应用数据用于供所述移动终端展示所述第一应用的相应应用界面。
在一个可选示例中,所述装置还包括:
第三获取模块,用于获取所述移动终端展示的,所述第一应用的应用界面中的第二应用数据;
第二存储模块,用于根据所述第二应用数据,进行数据存储。
在一个可选示例中,所述第一存储模块,包括:
解析单元,用于对所述第一应用数据进行解析,以得到至少一个数据字段;
第二确定单元,用于确定所述至少一个数据字段中的有效数据字段;
第三确定单元,用于确定待存储的目标数据;其中,所述目标数据中包括所确定的有效数据字段;
第四确定单元,用于根据所述第一应用数据的获取时间,确定存储位置;
存储单元,用于将所述目标数据存储至所述存储位置。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述数据处理方法。
根据本公开实施例的又一个方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述数据处理方法。
基于本公开上述实施例提供的一种数据处理方法、装置、计算机可读存储介质及电子设备,电子设备可以获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求,将获取到的应用数据获取请求转发至第一服务器,获取第一服务器响应于应用数据获取请求返回的第一应用数据,之后,其可以根据第一应用数据,进行数据存储;其中,第一服务器为第一应用的后台服务器。可见,电子设备相当于第一服务器的代理服务器,代理服务器能够在实现移动终端与第一服务器之间的正常通信的同时,进行应用数据的抓取,也即,本公开的实施例中的应用数据抓取技术并不需要进行应用破解,而是需要进行代理服务器的部署,代理服务器的部署难度远小于应用破解难度,因此,与现有技术相比,本公开的实施例中的应用数据抓取技术的实现难度更低且实施起来更为便捷。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的数据处理方法的流程示意图。
图2是本公开所适用的***构架图。
图3是本公开一示例性实施例提供的数据处理装置的结构示意图。
图4是本公开另一示例性实施例提供的数据处理装置的结构示意图。
图5是本公开再一示例性实施例提供的数据处理装置的结构示意图。
图6是本公开又一示例性实施例提供的数据处理装置的结构示意图。
图7是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***、大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
示例性方法
图1是本公开一示例性实施例提供的数据处理方法的流程示意图。图1所示的方法可以包括步骤101、步骤102、步骤103和步骤104,下面对各步骤分别进行说明。
步骤101,获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,第一服务器为第一应用的后台服务器。
这里,移动终端可以为手机、平板电脑或者膝上型电脑,当然,移动终端的类型并不局限于此,具体可以根据实际情况来确定,本公开的实施例对此不做任何限定。另外,移动终端上可以安装有若干个应用,第一应用可以为该若干个应用中的,需要进行应用数据抓取的任一应用。
这里,指向第一服务器的应用数据获取请求是指:目的设备为第一服务器的应用数据获取请求,例如目的互联网协议(Internet Protocol,IP)地址为第一服务器的IP地址的应用数据获取请求。
需要说明的是,数据处理方法所应用于的电子设备上可以部署有流量拦截工具,流量拦截工具可以用于获取移动终端向第一服务器传输的流量。这里,流量拦截工具可以为mitmproxymitmproxy,mitmproxymitmproxy是一个开源的,免费的,交互/非交互的,超文本传输协议(Hyper Text Transfer Protocol,Http)/超文本传输安全协议(HypertextTransfer Protocol Secure,Https)代理,能够提供流量拦截功能。
在步骤101中,可以利用流量拦截工具,获取指向第一服务器的应用数据获取请求。
步骤102,将应用数据获取请求转发至第一服务器。
在获取到应用数据获取请求的情况下,电子设备可以将应用数据获取请求中的发送者修改为自身,然后将修改后的应用数据获取请求提供给第一服务器,第一服务器可以对所获得的应用数据获取请求进行响应。具体地,第一服务器的数据库中可以存储有大量与第一应用相关的数据,第一服务器可以根据应用数据获取请求,从自身的数据库中获取相应的应用数据(即第一应用数据),并发送第一应用数据。
这里,第一应用数据中可以同时包括与可视化相关的数据,以及与可视化不相关的数据;其中,与可视化相关的数据可以用于移动终端进行第一应用相关的应用界面的展示。
步骤103,获取第一服务器响应于应用数据获取请求返回的第一应用数据。
由于电子设备将应用数据获取请求中的发送者修改为了自身,在对所获得的应用数据获取请求进行响应时,第一服务器可以将第一应用数据发送给电子设备,这样,电子设备能够获取到第一应用数据。
步骤104,根据第一应用数据,进行数据存储。
这里,在根据第一应用数据,进行数据存储时,可以直接在电子设备本地进行数据存储,或者在不同于电子设备的设备中进行数据存储,存储的数据可以认为是采用本公开的实施例提供的应用数据技术抓取到的数据。
本公开的实施例中,电子设备可以获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求,将获取到的应用数据获取请求转发至第一服务器,获取第一服务器响应于应用数据获取请求返回的第一应用数据,之后,其可以根据第一应用数据,进行数据存储;其中,第一服务器为第一应用的后台服务器。可见,电子设备相当于第一服务器的代理服务器,代理服务器能够在实现移动终端与第一服务器之间的正常通信的同时,进行应用数据的抓取,也即,本公开的实施例中的应用数据抓取技术并不需要进行应用破解,而是需要进行代理服务器的部署,代理服务器的部署难度远小于应用破解难度,因此,与现有技术相比,本公开的实施例中的应用数据抓取技术的实现难度更低且实施起来更为便捷。
需要说明的是,触发移动终端发送应用数据获取请求的具体实现形式多样,下面进行举例介绍。
在一种实现形式中,移动终端的用户可以在移动终端上对第一应用进行操作,例如进行点击操作、下拉列表操作等,以触发移动终端发送相应的应用数据获取请求。
在另一种实现形式中,获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求之前,该方法还包括:
向移动终端发送控制指令;
其中,控制指令用于触发移动终端发送应用数据获取请求。
这里,电子设备中可以包括逻辑控制模块,逻辑控制模块可以向开发人员暴露控制逻辑接口,开发人员可以根据实际需求,向逻辑控制模块中写入具体控制逻辑。这样,逻辑控制模块可以根据具体控制逻辑,向移动终端发送相应的控制指令,以使得移动终端响应于控制指令,发送应用数据获取请求。具体地,移动终端可以响应于控制指令,批量发送应用数据获取请求。
可见,这种实现形式中,应用数据获取请求的发送可以由程序自动触发,无需用户参与,便捷性更高,以使得进行应用数据抓取时能够抓取到充足的数据。
在上述后一种实现形式中,向移动终端发送控制指令,可以包括:
确定第一应用对应的第一数据类型;
向移动终端发送携带第一数据类型的控制指令;
其中,应用数据获取请求的所请求数据类型为第一数据类型。
需要说明的是,不同应用所需要抓取的数据类型可能存在一定的差别,例如,某一应用需要抓取的数据类型主要为视频类型,另一应用需要抓取的数据类型为音频类型,那么,可以预先设置应用与待抓取的数据类型之间的对应关系。
这里,可以根据预先设置的对应关系,确定第一应用对应的数据类型作为第一数据类型,接下来,可以向移动终端发送携带第一数据类型的控制指令。之后,响应于控制指令,移动终端可以发送应用数据获取请求,应用数据获取请求中可以携带第一数据类型,也即,应用数据获取请求的所请求数据类型为第一数据类型,这样,第一服务器后续返回的第一应用数据的数据类型可以为第一数据类型。
可见,本公开的实施例中能够保证进行应用数据抓取时,抓取到的数据满足实际需求。
在一个可选示例中,获取第一服务器响应于应用数据获取请求返回的第一应用数据之后,该方法还包括:
将第一应用数据转发至移动终端;
其中,第一应用数据用于供移动终端展示第一应用的相应应用界面。
这里,在电子设备将第一应用数据转发至移动终端之后,移动终端可以从中提取与可视化相关的数据,并基于与可视化相关的数据,展示相应应用界面。
需要说明的是,应用中一般都存在反爬虫,如果第一应用发送若干应用数据获取请求后,均未接收到相应的应用数据,反爬虫会识别到这种情况,提示网络错误,并控制第一应用退出,这会影响到应用数据抓取流程的正常实施。
有鉴于此,本公开的实施例中,对于第一服务器返回的第一应用数据,电子设备可以将其转发至移动终端,以便于移动终端进行应用界面的正常展示,从而避免反爬虫影响到应用数据抓取流程的正常实施。
在一个可选示例中,根据第一应用数据,进行数据存储,包括:
对第一应用数据进行解析,以得到至少一个数据字段;
确定至少一个数据字段中的有效数据字段;
确定待存储的目标数据;其中,目标数据中包括所确定的有效数据字段;
根据第一应用数据的获取时间,确定存储位置;
将目标数据存储至存储位置。
这里,可以利用Http对第一应用数据进行解析,以得到至少一个数据字段。接下来,可以确定至少一个数据字段中的有效数据字段,有效数据字段可以认为是具有抓取意义的字段。具体地,可以利用数据字段白名单或数据字段黑名单,确定有效数据字段,例如将位于数据字段白名单中的数据字段作为有效数据字段,或者将不位于数据字段黑名单中的数据字段作为有效数据字段。之后,可以确定待存储的目标数据,目标数据中可以包括所确定的有效数据字段,目标数据可以认为是采用***流量解析获取方式抓取到的应用数据。
另外,还可以根据第一应用数据的获取时间,确定存储位置。具体地,可以预先设置顺序排列多个存储位置,在根据第一应用数据的获取时间确定存储位置时,所确定的存储位置的先后顺序可以与获取时间的早晚顺序相关,例如,第一应用数据的获取时间越晚,根据其确定的存储位置可以越靠后;第一应用数据的获取时间越早,根据其确定的存储位置可以越靠前。可选地,可以按照redis队列方式,进行数据存储;其中,redis是一个高性能的key-value存储***。
在目标数据和存储位置均确定好之后,可以将目标数据存储至存储位置中,这样就相当于完成了应用数据的抓取。
可见,本公开的实施例中,通过有效数据字段的筛选,可以确定并存储出由有效数据字段构成的目标数据,这样能够节约存储空间,另外,根据获取时间,能够便捷地确定出合适的存储位置。
在一个可选示例中,
将目标数据存储至存储位置之前,该方法还包括:
确定第一应用对应的第一预设存储时长;
将目标数据存储至存储位置之后,该方法还包括:
记录目标数据的存储时长;
在存储时长大于第一预设存储时长的情况下,删除存储位置中存储的目标数据。
需要说明的是,可以预先设置应用与预设存储时长之间的对应关系;其中,任一应用对应的预设存储时长为针对该应用,进行应用数据抓取所抓取的数据需要保留的时长。
这样,根据应用与预设存储时长之间的对应关系,可以非常便捷地确定出第一应用对应的第一预设存储时长。接下来,可以从目标数据被存储至存储位置中的时刻开始,记录目标数据的存储时长,并周期性地判断所记录的存储时长是否大于第一预设存储时长。在所记录的存储时长大于第一预设存储时长的情况下,可以删除存储位置中存储的目标数据,以为其他数据腾出存储空间;否则,可以保持目标数据在存储位置中的存储。
可见,本公开的实施例能够避免目标数据对存储位置的长时间占用,以保证后续数据的存储。
可选地,该方法还包括:
获取移动终端展示的,第一应用的应用界面中的第二应用数据;
根据第二应用数据,进行数据存储。
一般而言,第一应用的应用界面上可以显示有若干应用数据,例如显示有热门应用榜单,热门音乐榜单,热门电影榜单等,那么,可以直接获取应用界面上的至少部分数据作为第二应用数据,之后,可以根据第二应用数据,进行数据存储,所存储的数据可以认为是采用屏幕数据获取方式抓取到的应用数据。
需要说明的是,根据第二应用数据,进行数据存储的具体实施过程参照对根据第一应用数据,进行数据存储的过程的说明即可,在此不再赘述。
可见,本实施例中,可以将屏幕数据获取方式与***流量解析获取方式进行结合,从而保证应用数据抓取效果。
需要说明的是,本公开的实施例所应用的电子设备可以包括图2中的第二服务器和逻辑控制模块,如图2所示,本公开的实施例所适用的场景示意图中除了包括电子设备之外,还可以包括第一服务器和若干个手机(即手机1至手机4);其中,手机1至手机4均可以使用安卓***,手机1至手机4上均可以安装有第一应用,第一服务器为第一应用的后台服务器。
这里,逻辑控制模块可以使用Uiautomator UiAutomator;其中,UiautomatorUiAutomator是谷歌提供的,用来做安卓自动化测试的一个Java库,基于Accessibility服务,可以对第三方应用进行测试,获取屏幕上任意一个应用的任意一个控件属性,并对其进行任意操作,从而提供应用自动化操作功能。
具体实施时,逻辑控制模块可以向任一手机(例如手机3)发送控制指令,以触发手机3发送指向第一服务器的应用数据获取请求。
需要指出的是,第二服务器可以包括流量拦截与存储模块,流量拦截与存储模块可以具有流量拦截功能和结构化存储功能。这样,第二服务器可以利用流量拦截与存储模块获取应用数据获取请求,并将应用数据获取请求转发至第一服务器。接下来,第二服务器可以获取第一服务器响应于应用数据获取请求返回的第一应用数据,将第一应用数据转发至手机3,以便于手机3上展示第一应用的相应应用界面,从而完成当前业务逻辑;并且,第二服务器还可以利用流量拦截与存储模块,对第一应用数据进行结构化存储,例如采用redis队列方式进行存储,从而完成应用数据抓取。
可见,本公开的实施例中,通过电子设备,手机3能够正常与第一服务器进行交互,并且,还能够实现应用数据抓取,即使第一应用进行了升级也不会影响到应用数据抓取,因此,在数据体量和抓取速率要求不高的场景下,本公开的实施例能够便捷可靠地、低成本地实现应用数据抓取,这样能够降低业务开发的难度和耦合度。
本公开的实施例提供的任一种数据处理方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种数据处理方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种数据处理方法。下文不再赘述。
示例性装置
图3是本公开一示例性实施例提供的数据处理装置的结构示意图。图3所示的装置可以包括第一获取模块301、转发模块302、第二获取模块303和第一存储模块304。
第一获取模块301,用于获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,第一服务器为第一应用的后台服务器;
转发模块302,用于将应用数据获取请求转发至第一服务器;
第二获取模块303,用于获取第一服务器响应于应用数据获取请求返回的第一应用数据;
第一存储模块304,用于根据第一应用数据,进行数据存储。
在一个可选示例中,如图4所示,该装置还包括:
发送模块311,用于在获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求之前,向移动终端发送控制指令;
其中,控制指令用于触发移动终端发送应用数据获取请求。
在一个可选示例中,发送模块311,包括:
第一确定单元,用于确定第一应用对应的第一数据类型;
发送单元,用于向移动终端发送携带第一数据类型的控制指令;
其中,应用数据获取请求的所请求数据类型为第一数据类型。
在一个可选示例中,如图5所示,该装置还包括:
转发模块321,用于在获取第一服务器响应于应用数据获取请求返回的第一应用数据之后,将第一应用数据转发至移动终端;
其中,第一应用数据用于供移动终端展示第一应用的相应应用界面。
在一个可选示例中,如图6所示,该装置还包括:
第三获取模块331,用于获取移动终端展示的,第一应用的应用界面中的第二应用数据;
第二存储模块332,用于根据第二应用数据,进行数据存储。
在一个可选示例中,第一存储模块304,包括:
解析单元,用于对第一应用数据进行解析,以得到至少一个数据字段;
第二确定单元,用于确定至少一个数据字段中的有效数据字段;
第三确定单元,用于确定待存储的目标数据;其中,目标数据中包括所确定的有效数据字段。
第四确定单元,用于根据第一应用数据的获取时间,确定存储位置;
存储单元,用于将目标数据存储至存储位置。
本公开的实施例中的应用数据抓取技术并不需要进行应用破解,而是需要进行代理服务器的部署,代理服务器的部署难度远小于应用破解难度,因此,与现有技术相比,本公开的实施例中的应用数据抓取技术的实现难度更低且实施起来更为便捷。
示例性电子设备
下面,参考图7来描述根据本公开实施例的电子设备。该电子设备可以是第一设备100和第二设备200中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图7图示了根据本公开实施例的电子设备的框图。
如图7所示,电子设备70包括一个或多个处理器71和存储器72。
处理器71可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
存储器72可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行所述程序指令,以实现上文所述的本公开的各个实施例的数据处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备70还可以包括:输入装置73和输出装置74,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备100或第二设备200时,该输入装置73可以是麦克风或麦克风阵列。在该电子设备是单机设备时,该输入装置73可以是通信网络连接器,用于从第一设备100和第二设备200接收所采集的输入信号。
此外,该输入装置73还可以包括例如键盘、鼠标等等。
该输出装置74可以向外部输出各种信息。该输出装置74可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图7中仅示出了该电子设备70中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的数据处理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的数据处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于***实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,所述第一服务器为所述第一应用的后台服务器;
将所述应用数据获取请求转发至所述第一服务器;
获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据;将所述第一应用数据转发至所述移动终端;其中,所述第一应用数据用于供所述移动终端展示所述第一应用的相应应用界面;
根据所述第一应用数据,进行数据存储。
2.根据权利要求1所述的方法,其特征在于,所述获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求之前,所述方法还包括:
向所述移动终端发送控制指令;
其中,所述控制指令用于触发所述移动终端发送所述应用数据获取请求。
3.根据权利要求2所述的方法,其特征在于,所述向所述移动终端发送控制指令,包括:
确定所述第一应用对应的第一数据类型;
向所述移动终端发送携带所述第一数据类型的控制指令;
其中,所述应用数据获取请求的所请求数据类型为所述第一数据类型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述移动终端展示的,所述第一应用的应用界面中的第二应用数据;
根据所述第二应用数据,进行数据存储。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述第一应用数据,进行数据存储,包括:
对所述第一应用数据进行解析,以得到至少一个数据字段;
确定所述至少一个数据字段中的有效数据字段;
确定待存储的目标数据;其中,所述目标数据中包括所确定的有效数据字段;
根据所述第一应用数据的获取时间,确定存储位置;
将所述目标数据存储至所述存储位置。
6.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求;其中,所述第一服务器为所述第一应用的后台服务器;
转发模块,用于将所述应用数据获取请求转发至所述第一服务器;
第二获取模块,用于获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据;
第一存储模块,用于根据所述第一应用数据,进行数据存储;
转发模块,用于在获取所述第一服务器响应于所述应用数据获取请求返回的第一应用数据之后,将所述第一应用数据转发至所述移动终端;其中,所述第一应用数据用于供所述移动终端展示所述第一应用的相应应用界面。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
发送模块,用于在获取安装有第一应用的移动终端发送的,指向第一服务器的应用数据获取请求之前,向所述移动终端发送控制指令;
其中,所述控制指令用于触发所述移动终端发送所述应用数据获取请求。
8.根据权利要求7所述的装置,其特征在于,所述发送模块,包括:
第一确定单元,用于确定所述第一应用对应的第一数据类型;
发送单元,用于向所述移动终端发送携带所述第一数据类型的控制指令;
其中,所述应用数据获取请求的所请求数据类型为所述第一数据类型。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述移动终端展示的,所述第一应用的应用界面中的第二应用数据;
第二存储模块,用于根据所述第二应用数据,进行数据存储。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述第一存储模块,包括:
解析单元,用于对所述第一应用数据进行解析,以得到至少一个数据字段;
第二确定单元,用于确定所述至少一个数据字段中的有效数据字段;
第三确定单元,用于确定待存储的目标数据;其中,所述目标数据中包括所确定的有效数据字段;
第四确定单元,用于根据所述第一应用数据的获取时间,确定存储位置;
存储单元,用于将所述目标数据存储至所述存储位置。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至5中任一所述的数据处理方法。
12.一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1至5中任一所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911054676.8A CN111104577B (zh) | 2019-10-31 | 2019-10-31 | 数据处理方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911054676.8A CN111104577B (zh) | 2019-10-31 | 2019-10-31 | 数据处理方法、装置、计算机可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104577A CN111104577A (zh) | 2020-05-05 |
CN111104577B true CN111104577B (zh) | 2023-11-14 |
Family
ID=70420585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911054676.8A Active CN111104577B (zh) | 2019-10-31 | 2019-10-31 | 数据处理方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104577B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065049B (zh) * | 2021-03-19 | 2024-06-14 | 深圳市腾讯网域计算机网络有限公司 | 数据抓取方法和装置、存储介质及电子设备 |
CN113934498A (zh) * | 2021-10-22 | 2022-01-14 | 盐城金堤科技有限公司 | 应用程序的数据获取方法、装置、设备及计算机存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000067131A2 (en) * | 1999-05-04 | 2000-11-09 | At & T Laboratories-Cambridge Limited | Data transfer, synchronising applications, and low latency networks |
WO2017211302A1 (zh) * | 2016-06-07 | 2017-12-14 | 中兴通讯股份有限公司 | 应用程序的开发方法、装置及*** |
CN108363662A (zh) * | 2018-01-29 | 2018-08-03 | 深圳壹账通智能科技有限公司 | 一种应用程序测试方法、存储介质及终端设备 |
CN109587234A (zh) * | 2018-11-29 | 2019-04-05 | 日立楼宇技术(广州)有限公司 | 基于楼宇云平台***的通信方法及楼宇云平台*** |
CN109688202A (zh) * | 2018-12-04 | 2019-04-26 | 北京腾云天下科技有限公司 | 一种接口数据的处理方法、装置、计算设备及存储介质 |
CN109951553A (zh) * | 2019-03-21 | 2019-06-28 | 杭州朗和科技有限公司 | 数据处理方法、***、电子设备以及计算机可读存储介质 |
CN110008045A (zh) * | 2019-04-12 | 2019-07-12 | 深圳乐信软件技术有限公司 | 微服务的聚合方法、装置、设备及存储介质 |
WO2019136954A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳市联软科技股份有限公司 | 网络合规检测方法、装置、设备及介质 |
WO2019149049A1 (zh) * | 2018-02-02 | 2019-08-08 | 华为技术有限公司 | 一种业务处理方法、终端、服务器及相关产品 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3414352B2 (ja) * | 2000-02-03 | 2003-06-09 | 日本電気株式会社 | 無線端末、情報処理システムおよび外部処理端末 |
US7912940B2 (en) * | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Network system role determination |
EP3174267B1 (en) * | 2015-11-30 | 2018-11-07 | Sap Se | Interaction pattern for a mobile telecommunication device |
-
2019
- 2019-10-31 CN CN201911054676.8A patent/CN111104577B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000067131A2 (en) * | 1999-05-04 | 2000-11-09 | At & T Laboratories-Cambridge Limited | Data transfer, synchronising applications, and low latency networks |
WO2017211302A1 (zh) * | 2016-06-07 | 2017-12-14 | 中兴通讯股份有限公司 | 应用程序的开发方法、装置及*** |
WO2019136954A1 (zh) * | 2018-01-15 | 2019-07-18 | 深圳市联软科技股份有限公司 | 网络合规检测方法、装置、设备及介质 |
CN108363662A (zh) * | 2018-01-29 | 2018-08-03 | 深圳壹账通智能科技有限公司 | 一种应用程序测试方法、存储介质及终端设备 |
WO2019149049A1 (zh) * | 2018-02-02 | 2019-08-08 | 华为技术有限公司 | 一种业务处理方法、终端、服务器及相关产品 |
CN109587234A (zh) * | 2018-11-29 | 2019-04-05 | 日立楼宇技术(广州)有限公司 | 基于楼宇云平台***的通信方法及楼宇云平台*** |
CN109688202A (zh) * | 2018-12-04 | 2019-04-26 | 北京腾云天下科技有限公司 | 一种接口数据的处理方法、装置、计算设备及存储介质 |
CN109951553A (zh) * | 2019-03-21 | 2019-06-28 | 杭州朗和科技有限公司 | 数据处理方法、***、电子设备以及计算机可读存储介质 |
CN110008045A (zh) * | 2019-04-12 | 2019-07-12 | 深圳乐信软件技术有限公司 | 微服务的聚合方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
唐洪川,张继棠.基于PDA的应用服务.重庆邮电学院学报(自然科学版).2004,(03),全文. * |
张震伟 ; 马雁云 ; .基于超元数据缓存的高速数据访问***.广东通信技术.2016,(09),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111104577A (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542361B (zh) | 一种分布式存储***文件读取方法、***及相关装置 | |
CN111159614B (zh) | 网页资源获取方法以及装置 | |
US9990214B2 (en) | Dynamic agent delivery | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
US10152400B2 (en) | Method and system for dynamically unblocking customers in critical workflows by pushing community contributed solutions just-in-time when an error is encountered | |
CN111104577B (zh) | 数据处理方法、装置、计算机可读存储介质及电子设备 | |
CN109873863B (zh) | 服务的异步调用方法和装置 | |
US11934287B2 (en) | Method, electronic device and computer program product for processing data | |
CN112631590B (zh) | 组件库生成方法、装置、电子设备和计算机可读介质 | |
CN111694757A (zh) | 应用程序的测试方法、装置、电子设备及计算机可读存储介质 | |
CN114840379A (zh) | 日志生成方法、装置、服务器及存储介质 | |
CN112015383A (zh) | 一种登录方法和装置 | |
CN111078900B (zh) | 一种数据的风险识别方法及*** | |
CN111752644A (zh) | 接口模拟方法、装置、设备及存储介质 | |
CN109348298B (zh) | 信息推送、播放多媒体数据流的方法和设备 | |
CN109068170B (zh) | 一种弹幕消息的存储方法、装置、终端和存储介质 | |
CN116561013A (zh) | 基于目标服务框架的测试方法、装置、电子设备和介质 | |
CN108289056B (zh) | 分享动态图表的方法、装置以及计算设备 | |
CN112149392A (zh) | 一种富文本编辑方法和装置 | |
CN116955861A (zh) | 页面生成方法和装置以及前端融合*** | |
US9959195B2 (en) | Dynamic instrumentation of WSGI applications | |
CN113407339A (zh) | 资源请求反馈方法、装置、可读存储介质及电子设备 | |
CN109756393B (zh) | 信息处理方法、***、介质和计算设备 | |
KR102198799B1 (ko) | 다자간 회의 제공 장치 및 상기 장치에서의 콘텐츠 공유 방법 | |
US9942361B2 (en) | Reporting page composition data |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |