CN113065049A - 数据抓取方法和装置、存储介质及电子设备 - Google Patents

数据抓取方法和装置、存储介质及电子设备 Download PDF

Info

Publication number
CN113065049A
CN113065049A CN202110296961.1A CN202110296961A CN113065049A CN 113065049 A CN113065049 A CN 113065049A CN 202110296961 A CN202110296961 A CN 202110296961A CN 113065049 A CN113065049 A CN 113065049A
Authority
CN
China
Prior art keywords
application
data
target
server
response
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.)
Granted
Application number
CN202110296961.1A
Other languages
English (en)
Other versions
CN113065049B (zh
Inventor
杨记万
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Domain Computer Network Co Ltd
Original Assignee
Shenzhen Tencent Domain Computer Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Tencent Domain Computer Network Co Ltd filed Critical Shenzhen Tencent Domain Computer Network Co Ltd
Priority to CN202110296961.1A priority Critical patent/CN113065049B/zh
Publication of CN113065049A publication Critical patent/CN113065049A/zh
Application granted granted Critical
Publication of CN113065049B publication Critical patent/CN113065049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (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 Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据抓取方法和装置、存储介质及电子设备。其中,该方法包括:在第一应用上向第一服务器发送第一请求消息,在第一应用上获取第一服务器发送的第一响应消息,在第一应用上将第一响应数据转换成第一目标数据,在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送给第二应用,通过在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送至第二应用,以实现通过第二应用抓取第一目标数据。本发明解决了相关技术中存在的数据抓取的效率较低的技术问题。

Description

数据抓取方法和装置、存储介质及电子设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据抓取方法和装置、存储介质及电子设备。
背景技术
现有技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据,例如,Wireshark是一个网络封包分析软件。网络封包分析软件的功能是抓取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,以抓取例如gRPC协议的数据包。
而Wireshark实现抓取移动终端的gRPC协议数据的缺点在于运行wireshark进行抓取基于gRPC协议的数据包的过程中,运行wireshark的终端本地需要管理一份后台gRPC接口的proto文件,并基于proto文件人工进行反序列化处理,以得到所需要的数据,而上述步骤会导致抓取数据包的效率较低,增加了抓取数据的成本。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据抓取方法和装置、存储介质及电子设备,以至少解决相关技术中存在的数据抓取的效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种数据抓取方法,包括:
在第一应用上向第一服务器发送第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取第一目标数据,所述第一目标数据的数据格式为第一目标格式;
在所述第一应用上获取所述第一服务器发送的第一响应消息,其中,所述第一响应消息是所述第一服务器响应于所述第一请求消息发送的响应消息,所述第一响应消息中包括二进制的第一响应数据;
在所述第一应用上将所述第一响应数据转换成所述第一目标数据;
在所述第一应用与第二应用建立了第一目标连接的情况下,在所述第一应用上将所述第一目标数据发送给所述第二应用,其中,所述第二应用用于对所述第一应用从所述第一服务器接收的数据进行抓取。
根据本发明实施例的另一方面,还提供了一种数据抓取装置,包括:
第一发送模块,用于在第一应用上向第一服务器发送第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取第一目标数据,所述第一目标数据的数据格式为第一目标格式;
第一获取模块,用于在所述第一应用上获取所述第一服务器发送的第一响应消息,其中,所述第一响应消息是所述第一服务器响应于所述第一请求消息发送的响应消息,所述第一响应消息中包括二进制的第一响应数据;
第一转换模块,用于在所述第一应用上将所述第一响应数据转换成所述第一目标数据;
第二发送模块,用于在所述第一应用与第二应用建立了第一目标连接的情况下,在所述第一应用上将所述第一目标数据发送给所述第二应用,其中,所述第二应用用于对所述第一应用从所述第一服务器接收的数据进行抓取。
可选地,所述装置还包括:
第二获取模块,用于在第一应用上向第一服务器发送第一请求消息之前,在所述第一应用上获取所述第二应用发送的连接建立请求;
建立模块,用于响应于所述连接建立请求,在所述第一应用上与所述第二应用建立所述第一目标连接,其中,在所述第一目标连接建立成功的情况下,所述第一应用被设置为在所述第一应用上将所述第一服务器发送的所述第一响应数据转换成所述第一目标数据的情况下,主动通过所述第一目标连接向所述第二应用发送所述第一目标数据。
可选地,所述装置还包括:
第三发送模块,用于在所述第一应用与所述第二应用处于同一个局域网中的情况下,在所述第二应用上通过第一IP地址向所述第一应用发送所述连接建立请求,其中,所述第一IP地址为所述第一应用在所述局域网中的IP地址。
可选地,所述第一发送模块,包括:
第一转换单元,用于在所述第一应用请求调用第一目标服务的情况下,在所述第一应用上将第一协议的请求消息转换成二进制的所述第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取所述第一目标服务所需的所述第一目标数据;
第一发送单元,用于在所述第一应用上将所述第一请求消息通过所述第一协议的客户端发送给所述第一服务器上的所述第一协议的服务端。
可选地,所述第一获取模块,包括:
第一获取单元,用于通过所述客户端获取所述服务端发送的所述第一响应消息,其中,所述第一响应消息是将所述第一服务器发送的所述第一协议的响应消息转换成的二进制的响应消息;
第二发送单元,用于通过所述客户端将所述第一响应消息发送给所述第一应用。
可选地,所述装置还包括:
第三获取模块,用于在所述第二应用上获取所述第一应用发送的所述第一目标数据;
第一显示模块,用于响应于在所述第二应用上获取到的第一操作指令,在所述第二应用上显示所述第一目标数据或者显示所述第一目标数据中的部分数据。
可选地,所述装置还包括:
第四获取模块,用于在所述第二应用上获取第三应用发送的第二目标数据,其中,所述第二目标数据是所述第三应用将第二响应数据转换成的目标数据,所述第二目标数据的数据格式为第二目标格式,所述第二响应数据是第二响应消息中包括的二进制的响应数据,所述第二响应消息是将第二服务器发送的第二协议的响应消息转换成的二进制的响应消息;
第二显示模块,用于响应于在所述第二应用上获取到的第二操作指令,在所述第二应用上显示所述第二目标数据或者显示所述第二目标数据中的部分数据。
可选地,所述装置还包括:
第四发送模块,用于在所述第三应用上向所述第二服务器发送第二请求消息,其中,所述第二请求消息用于请求从所述第二服务器中获取第二目标数据;
第五获取模块,用于在所述第三应用上获取所述第二服务器发送的第二响应消息,其中,所述第二响应消息是所述第二服务器响应于所述第二请求消息发送的响应消息;
第二转换模块,用于在所述第三应用上将所述第二响应数据转换成所述第二目标数据;
第五发送模块,用于在所述第三应用与所述第二应用建立了第二目标连接的情况下,在所述第三应用上将所述第二目标数据发送给所述第二应用,其中,所述第二应用用于对所述第三应用从所述第二服务器接收的数据进行抓取。
可选地,所述装置还包括:
第六获取模块,用于在所述第二应用上获取所述第一应用发送的第三目标数据,其中,所述第三目标数据是所述第一应用将第三响应数据转换成的目标数据,所述第三目标数据的数据格式为第三目标格式,所述第三响应数据是第三响应消息中包括的二进制的响应数据,所述第三响应消息是将第三服务器发送的第三协议的响应消息转换成的二进制的响应消息;
第三显示模块,用于响应于在所述第二应用上获取到的第三操作指令,在所述第二应用上显示所述第三目标数据或者显示所述第三目标数据中的部分数据。
可选地,所述装置还包括:
保存模块,用于在所述第一应用上将所述第一响应数据转换成所述第一目标数据的情况下,将所述第一目标数据保存在目标数据库中,其中,所述目标数据库中的数据被设置为允许被web访问请求访问。
可选地,所述装置还包括:
第六发送模块,用于向第二IP地址发送所述web访问请求,其中,所述第二IP地址为所述目标数据库的访问地址,所述web访问请求用于访问所述目标数据库中的所述第一目标数据;
第七获取模块,用于获取所述目标数据库响应于所述web访问请求返回的所述第一目标数据。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据抓取方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的数据抓取方法。
在本发明实施例中,采用在第一应用上向第一服务器发送第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标数据,第一目标数据的数据格式为第一目标格式,在第一应用上获取第一服务器发送的第一响应消息,其中,第一响应消息是第一服务器响应于第一请求消息发送的响应消息,第一响应消息中包括二进制的第一响应数据,在第一应用上将第一响应数据转换成第一目标数据,在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送给第二应用,其中,第二应用用于对第一应用从第一服务器接收的数据进行抓取的方式,通过在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送至第二应用,以实现通过第二应用抓取上述第一目标数据的目的,从而实现了避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,减少了计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据抓取方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的数据抓取方法的流程示意图;
图3是根据本发明实施例的一种可选的数据抓取方法的示意图;
图4是根据本发明实施例的另一种可选的数据抓取方法的示意图;
图5是根据本发明实施例的又一种可选的数据抓取方法的示意图;
图6是根据本发明实施例的又一种可选的数据抓取方法的示意图;
图7是根据本发明实施例的又一种可选的数据抓取方法的示意图;
图8是根据本发明实施例的又一种可选的数据抓取方法的示意图;
图9是根据本发明实施例的又一种可选的数据抓取方法的示意图;
图10是根据本发明实施例的又一种可选的数据抓取方法的示意图;
图11是根据本发明实施例的一种可选的数据抓取装置的结构示意图;
图12是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
gRPC(gRPC Remote Procedure Calls)是一个开源远程过程调用(Remoteprocedure call)系统。该系统基于HTTP/2协议传输,使用Protocol Buffers作为接口描述语言。
DataWatcher:一种用于实现的远程接收gRPC反协议序列化内容并展示的工具程序。
下面结合实施例对本发明进行说明:
根据本发明实施例的一个方面,提供了一种数据抓取方法,可选地,在本实施例中,上述数据抓取方法可以应用于如图1所示的由服务器101和用户终端103、以及用户终端109所构成的硬件环境中。如图1所示,服务器101通过网络与用户终端103以及用户终端109所在网络进行连接,可用于为用户终端或用户终端上安装的客户端提供服务,客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端、游戏客户端等。可在服务器上或独立于服务器设置数据库105,用于为服务器101提供数据存储服务,例如,游戏数据存储服务器,上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络,用户终端103可以是配置有用于抓取数据的第二应用111的终端,用户终端109可以是配置有需要被抓取数据的第一应用107的终端,上述用户终端103和用户终端109可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(MobileInternet Devices,移动互联网设备)、PAD、台式电脑、智能电视等计算机设备,上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器,使用上述数据抓取方法的第一应用107通过用户终端103进行显示。
结合图1所示,上述数据抓取方法可以在用户终端109通过如下步骤实现:
S1,在用户终端109的第一应用107上向第一服务器101发送第一请求消息,其中,第一请求消息用于请求从第一服务器101中获取第一目标数据,第一目标数据的数据格式为第一目标格式;
S2,在第一应用107上获取第一服务器101发送的第一响应消息,其中,第一响应消息是第一服务器101响应于第一请求消息发送的响应消息,第一响应消息中包括二进制的第一响应数据;
S3,在第一应用107上将第一响应数据转换成第一目标数据;
S4,在第一应用107与第二应用111建立了第一目标连接的情况下,在第一应用107上将第一目标数据发送给第二应用111,其中,第二应用111用于对第一应用107从第一服务器101接收的数据进行抓取。
可选地,在本实施例中,上述数据抓取方法还可以通过包括但不限于配置于服务器的客户端使用。
上述仅是一种示例,本实施例不做具体的限定。
可选地,作为一种可选的实施方式,如图2所示,上述数据抓取方法包括:
S202,在第一应用上向第一服务器发送第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标数据,第一目标数据的数据格式为第一目标格式;
S204,在第一应用上获取第一服务器发送的第一响应消息,其中,第一响应消息是第一服务器响应于第一请求消息发送的响应消息,第一响应消息中包括二进制的第一响应数据;
S206,在第一应用上将第一响应数据转换成第一目标数据;
S208,在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送给第二应用,其中,第二应用用于对第一应用从第一服务器接收的数据进行抓取。
可选地,在本实施例中,上述数据抓取的应用场景可以包括但不限于医疗、金融、征信、银行、政务、政府、游戏、能源、教育、安防、楼宇、游戏、交通、物联、工业等多种应用场景。
具体而言,可以包括但不限于在上述应用场景中对第一应用进行调试或检测的过程中,实现第一应用与第一服务器进行数据交互过程中的数据抓取。
例如,以上述第一应用为游戏类型App为例,图3是根据本发明实施例的一种可选的数据抓取方法的示意图,如图3所示,包括但不限于如下内容:
S302,在第一应用的显示界面上获取用于从第一服务器拉取数据的交互操作;
S304,在第一应用生成请求消息(对应于前述的第一请求消息);
S306,在第一应用从第一服务器拉取游戏界面数据(对应于前述的第一目标数据);
S308,在第一应用接收并解析由第一服务器返回的数据包(对应于前述的第一响应消息);
S310,在第一应用与第二应用建立第一目标连接的情况下,将第一响应消息解析后通过第一目标连接发送至第二应用,以实现通过第二应用抓取上述第一目标数据。
可选地,在本实施例中,上述第一应用可以包括但不限于在各种应用场景中运营业务的应用程序,具体可以包括但不限于App、小程序等,上述第一服务器可以包括但不限于为上述第一应用运营业务所对应的服务器,可以包括但不限于为一个或多个,上述第二应用可以包括但不限于用于抓取第一应用与第一服务器之间交互数据的应用程序。
可选地,在本实施例中,上述第一请求消息可以包括但不限于由第一应用生成的,用于从第一服务器请求对应数据的请求消息。上述第一请求消息的类型可以包括但不限于上述第一目标格式的请求消息。
例如,在上述第一应用与第一服务器通过如gRPC协议传输数据的过程中,上述第一请求消息为将原始数据基于预定格式序列化为二进制数据,作为上述第一目标格式的第一请求消息。
可选地,在本实施例中,上述在第一应用上获取第一服务器发送的第一响应消息可以包括但不限于在第一服务器接收到上述第一请求消息后,基于上述预定格式反序列化上述二进制的第一请求消息,以获取原始数据所需要从第一服务器中拉取的数据,并将上述拉取的数据重新基于上述预定格式序列化为上述二进制的第一响应数据,并将包括上述第一响应数据的第一响应信息返回至上述第一应用,以使得在第一应用上获取第一服务器发送的第一响应消息。
可选地,在本实施例中,上述在第一应用上将第一响应数据转换成第一目标数据可以包括但不限于在第一应用上基于上述预定格式将上述第一响应数据反序列化为上述原始数据所需要从第一服务器中拉取的数据,并执行对应的操作,其中,上述预定格式可以包括但不限于在第一请求消息与第一响应消息为基于gRPC协议传输的消息的情况下,将预定格式配置为gRPC对应的proto文件。
例如,图4是根据本发明实施例的另一种可选的数据抓取方法的示意图,如图4所示,上述第一应用为游戏App,第二应用为用于显示抓取数据的应用程序,具体包括但不限于如下步骤:
S402,在游戏App中获取交互操作;
S404,响应于上述交互操作,生成序列化后的第一请求消息,其中,第一请求消息用于从第一服务器获取进入游戏界面后的显示画面;
S406,服务器接收上述第一请求消息,并将第一请求消息反序列化,以获知游戏App所需拉取的数据,将游戏App需要拉取的数据重新进行序列化,得到第一响应数据;
S408,游戏App解析包括第一响应数据的第一响应消息,以得到上述第一目标数据;
S410,游戏App在得到上述第一目标数据后,在游戏App的显示界面显示游戏数据对应的界面,并通过第一目标连接将上述第一目标数据发送至上述第二应用,以在第二应用的显示界面中展示拉取到的游戏数据。
上述仅是一种示例,本实施例不做任何具体的限定。
还例如,图5是根据本发明实施例的又一种可选的数据抓取方法的示意图,如图5所示,上述第一应用为浏览器App,第二应用为用于显示抓取数据的应用程序,具体包括但不限于如下步骤:
S502,在浏览器App中获取交互操作;
S504,响应于上述交互操作,生成序列化后的第一请求消息,其中,第一请求消息用于从第一服务器获取需要在浏览器App显示的网页界面;
S506,服务器接收上述第一请求消息,并将第一请求消息反序列化,以获知浏览器App所需拉取的数据,将浏览器App需要拉取的数据重新进行序列化,得到第一响应数据;
S508,浏览器App解析包括第一响应数据的第一响应消息,以得到上述第一目标数据;
S510,浏览器App在得到上述第一目标数据后,在浏览器App的显示界面显示网页数据对应的界面,并通过第一目标连接将上述第一目标数据发送至上述第二应用,以在第二应用的显示界面中展示拉取到的网页数据。
还例如,图6是根据本发明实施例的又一种可选的数据抓取方法的示意图,如图6所示,上述第一应用为游戏直播App,第二应用为用于显示抓取视频直播数据的应用程序,具体包括但不限于如下步骤:
S602,在游戏直播App中播放根据业务场景传输的游戏直播数据;
S604,在游戏直播App生成用于从第一服务器传输游戏直播数据的第一请求消息,并序列化为二进制数据;
S606,第一服务器接收上述第一请求消息,并将第一请求消息反序列化,以获知游戏直播App所需拉取的游戏直播数据,将游戏直播App需要拉取的数据重新进行序列化,得到第一响应数据;
S608,游戏直播App解析由第一服务器返回的包括第一响应数据的第一响应消息,以得到游戏直播数据作为上述第一目标数据;
S610,游戏直播App在接收上述第一目标数据后,在游戏直播App的直播界面播放上述游戏直播数据,并通过游戏直播App与第二应用之间的第一目标连接将上述游戏直播数据发送至上述第二应用,以在第二应用的显示界面中展示拉取到的游戏直播数据。
可选地,在本实施例中,上述第一应用和第二应用之间建立了上述第一目标连接可以包括但不限于在第一应用发送上述第一请求消息之前,预先建立上述第一目标连接,上述第一目标连接的类型可以包括但不限于socket连接,具体实现方式包括但不限于局域网,蓝牙等。
例如,以上述第一目标连接的类型为属于同一个局域网为例,图7是根据本发明实施例的另一种可选的数据抓取方法的示意图,如图7所示,该方法包括但不限于如下步骤:
S1,在移动终端702安装第一应用,在电脑704安装上述第二应用,并将上述移动终端702与上述电脑704加入同一个局域网中;
S2,在第一应用与第二应用均为启动状态的情况下,在第二应用上建立第一应用和第二应用之间的socket连接。
具体而言,如图7所示,以第一应用为App,第二应用为DataWatch,服务器为Server为例,上述数据抓取流程可以包括但不限于如下内容:
S1,在DataWatch与App处于同一网络内的情况下,DataWatch向App发送建立Socket连接请求(Socket Connect);
S2,App接收到上述Socket连接请求后,建立上述Socket连接;
S3,App将请求数据包序列化为第一请求消息(gRPC request);
S4,Server接收到gRPC request后,反序列化,并查找App所需请求的数据,将该数据序列化为上述第一响应消息;
S5,App接收上述第一响应消息,并反序列为上述第一目标数据;
S6,App将上述第一目标数据通过Socket连接发送至DataWatch;
S7,DataWatch接收上述第一目标数据;
S8,根据实际需要筛选后显示在对应的显示区域中。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用在第一应用上向第一服务器发送第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标数据,第一目标数据的数据格式为第一目标格式,在第一应用上获取第一服务器发送的第一响应消息,其中,第一响应消息是第一服务器响应于第一请求消息发送的响应消息,第一响应消息中包括二进制的第一响应数据,在第一应用上将第一响应数据转换成第一目标数据,在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送给第二应用,其中,第二应用用于对第一应用从第一服务器接收的数据进行抓取的方式,通过在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送至第二应用,以实现通过第二应用抓取上述第一目标数据的目的,从而实现了避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,减少了计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,在第一应用上向第一服务器发送第一请求消息之前,方法还包括:
在第一应用上获取第二应用发送的连接建立请求;
响应于连接建立请求,在第一应用上与第二应用建立第一目标连接,其中,在第一目标连接建立成功的情况下,第一应用被设置为在第一应用上将第一服务器发送的第一响应数据转换成第一目标数据的情况下,主动通过第一目标连接向第二应用发送第一目标数据。
可选地,在本实施例中,上述在第一应用上获取第二应用发送的连接建立请求可以包括但不限于如图7所示的步骤S1,当检测到第一应用与第二应用处于同一个网络的情况下,通过建立Socket连接,使得第一应用和第二应用建立上述第一目标连接。
可选地,在本实施例中,上述第一应用被设置为在第一应用上将第一服务器发送的第一响应数据转换成第一目标数据的情况下,主动通过第一目标连接向第二应用发送第一目标数据可以包括但不限于为第一应用预先进行配置,当上述第一应用预先与第二应用建立了第一目标连接的情况下,则在第一应用将第一响应数据转换成第一目标数据的情况下,通过第一目标连接主动发送第一目标数据。
通过本实施例,采用在第一应用上获取第二应用发送的连接建立请求;响应于连接建立请求,在第一应用上与第二应用建立第一目标连接,其中,在第一目标连接建立成功的情况下,第一应用被设置为在第一应用上将第一服务器发送的第一响应数据转换成第一目标数据的情况下,主动通过第一目标连接向第二应用发送第一目标数据的方式,通过在第一应用与第二应用建立第一目标连接,以实现在第一应用上将第一目标数据发送至第二应用,达到便于第二应用抓取上述第一目标数据的目的,从而避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,达到减少计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,方法还包括:
在第一应用与第二应用处于同一个局域网中的情况下,在第二应用上通过第一IP地址向第一应用发送连接建立请求,其中,第一IP地址为第一应用在局域网中的IP地址。
可选地,在本实施例中,上述同一个局域网可以包括但不限于控制第一应用所处终端与第二应用所处的另一个终端加入相同的局域网,具体加入方式可以包括但不限于人工手动加入同一个局域网,或者,由第一应用所处终端和第二应用所处终端中先加入局域网的终端,将加入该局域网的相关信息通过NFC、蓝牙、红外等方式发送至未加入局域网的终端,以实现未加入局域网的终端能够加入同一个局域网。
可选地,在本实施例中,上述在第二应用上通过第一IP地址向第一应用发送连接建立请求可以包括但不限于通过如下方式:
S1,启动DataWatch(对应于前述的第二应用);
S2,连接与App所在终端在同一局域网下的WIFI;
S3,在DataWatch的IP输入框输入App所在终端的WIFI IP;
S4,点击connect按钮实现与App进行Socket通讯,其中,DataWatch为客户端,App为服务端,DataWatch发起对App连接。
通过本实施例,采用在第一应用与第二应用处于同一个局域网中的情况下,在第二应用上通过第一IP地址向第一应用发送连接建立请求,其中,第一IP地址为第一应用在局域网中的IP地址的方式,通过在第二应用上通过第一IP地址向第一应用发送建立连接的请求,使得第一应用与第二应用建立第一目标连接,通过在第二应用上输入第一应用对应的IP地址,以将处于同一局域网的第一应用和第二应用连接,便于将第一目标数据发送至第二应用,从而避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,达到减少计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,在第一应用上向第一服务器发送第一请求消息,包括:
在第一应用请求调用第一目标服务的情况下,在第一应用上将第一协议的请求消息转换成二进制的第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标服务所需的第一目标数据;
在第一应用上将第一请求消息通过第一协议的客户端发送给第一服务器上的第一协议的服务端。
可选地,在本实施例中,上述第一目标服务由第一应用确定,可以包括但不限于由第一应用中获取到的交互操作确定,还可以包括但不限于第一应用的进程中调用的接口决定。
例如,当第一协议为gPRC协议的情况下,需要对第一目标服务所对应的接口进行严格约束,当第一目标服务为公共服务的情况下,为了保证第一目标服务的传输安全,gRPC可以通过protobuf来提供严格的接口约束,以将第一协议的请求消息转换成二进制的第一请求消息。
可选地,在本实施例中,上述第一目标服务的应用场景可以根据第一应用的应用场景灵活调整,上述在第一应用上将第一协议的请求消息转换成二进制的第一请求消息可以包括但不限于将第一协议的请求消息进行序列化,转化成二进制的第一请求消息。
具体而言,序列化是将数据结构或对象转换成二进制字节流的过程。
Protobuf对于不同的字段类型采用不同的编码方式和数据存储方式对消息字段进行序列化,以确保得到高效紧凑的数据压缩。
Protobuf序列化过程如下:
S1,判断每个字段是否有设置值,有值才进行编码。
S2,根据字段标识号与数据类型将字段值通过不同的编码方式进行编码。
S3,将编码后的数据块按照字段类型采用不同的数据存储方式封装成二进制数据流作为上述第一请求消息。
需要说明的是,上述第一协议的请求消息对应的数据类型可以包括但不限于键值对数据,上述将第一协议的请求消息转换成二进制的第一请求消息可以包括但不限于将键值对数据中的键数据基于proto文件删除,并将键值对数据中的值数据转化为二进制的数据流,以将请求消息压缩为上述第一请求消息,实现数据的快速传输。
例如,图8是根据本发明实施例的又一种可选的数据抓取方法的示意图,如图8所示,其中,第一应用为App,服务器为Server,具体包括但不限于如下步骤:
S1,在App上调用第一目标服务;
S2,在App上序列化请求消息;
S3,在App上经由Internet向Server发送第一请求消息;
S4,在Server上读取第一请求消息;
S5,在Server上反序列化第一请求消息;
S6,在Server上反射调用第一目标服务器所需的第一目标数据;
S7,在Server上返回响应消息;
S8,在Server上序列化响应消息得到第一响应消息;
S9,在Server上经由Internet向App发送第一响应消息;
S10,在App上读取第一响应消息;
S11,在App上反序列化第一响应消息;
S12,在App上调用第一目标服务;
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用在第一应用请求调用第一目标服务的情况下,在第一应用上将第一协议的请求消息转换成二进制的第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标服务所需的第一目标数据,在第一应用上将第一请求消息通过第一协议的客户端发送给第一服务器上的第一协议的服务端的方式,通过在第一应用上根据协议类型转化成二进制的第一请求消息,能够有效地降低数据传输量,提高通信效率,便于将第一目标数据发送至第二应用,从而避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,达到减少计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,在第一应用上获取第一服务器发送的第一响应消息,包括:
通过客户端获取服务端发送的第一响应消息,其中,第一响应消息是将第一服务器发送的第一协议的响应消息转换成的二进制的响应消息;
通过客户端将第一响应消息发送给第一应用。
可选地,在本实施例中,上述客户端可以包括但不限于上述在上述第一服务器中配置的用于进行数据转换的客户端,上述客户端中存储有与上述第一应用相同的将数据转换为二进制数据的编码文件,例如,gRPC协议中的proto文件。
可选地,在本实施例中,上述客户端在将响应消息序列化为二进制的响应消息后,将该响应消息发送至第一应用,以将第一应用所需调用的数据反馈给第一应用。
例如,如图8所示,通过gRPC客户端实现上述获取服务端发送的第一响应消息,其中,第一响应消息是将第一服务器发送的第一协议的响应消息转换成的二进制的响应消息,以及将第一响应消息发送给第一应用。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用通过客户端获取服务端发送的第一响应消息,其中,第一响应消息是将第一服务器发送的第一协议的响应消息转换成的二进制的响应消息,通过客户端将第一响应消息发送给第一应用的方式,通过客户端根据协议类型转化成二进制的第一响应消息,能够有效地降低数据传输量,提高通信效率,便于将第一目标数据发送至第二应用,从而避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,达到减少计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,方法还包括:
在第二应用上获取第一应用发送的第一目标数据;
响应于在第二应用上获取到的第一操作指令,在第二应用上显示第一目标数据或者显示第一目标数据中的部分数据。
可选地,在本实施例中,上述第一操作指令可以包括但不限于点击、长按、滑动、松开、双击、语音识别、手势识别等当前或未来能够用于触发应用程序进行处理的操作指令。
例如,在第二应用的显示界面上预先设置用于显示第一目标数据或者第一目标数据中的部分数据的触控按钮,通过对该触控按钮执行上述第一操作指令,以实现在第二应用的预定显示区域中显示第一目标数据或第一目标数据的部分数据,还可以包括但不限于同时配置不同的触控按钮,以分别显示第一目标数据或第一目标数据的部分数据。
可选地,在本实施例中,以第二应用为DataWatch为例,上述第一目标数据的部分数据可以由DataWatch根据协议请求接口的package,service,method等值进行过滤,输入关键字可以根据返回结果正文进行筛选,以得到上述部分数据。
通过本实施例,采用在第二应用上获取第一应用发送的第一目标数据,响应于在第二应用上获取到的第一操作指令,在第二应用上显示第一目标数据或者显示第一目标数据中的部分数据的方式,通过在第二应用上获取操作指令,以实现在第二应用上显示第一目标数据,从而避免了相关技术中在电脑和目标应用都进行数据的转换过程,达到了减少计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,方法还包括:
在第二应用上获取第三应用发送的第二目标数据,其中,第二目标数据是第三应用将第二响应数据转换成的目标数据,第二目标数据的数据格式为第二目标格式,第二响应数据是第二响应消息中包括的二进制的响应数据,第二响应消息是将第二服务器发送的第二协议的响应消息转换成的二进制的响应消息;
响应于在第二应用上获取到的第二操作指令,在第二应用上显示第二目标数据或者显示第二目标数据中的部分数据。
可选地,在本实施例中,上述第三应用可以包括但不限于与第一应用相关联的应用程序,例如,第一应用生成的第一请求消息指示需要从第三应用中获取数据,或者,上述第三应用还可以包括但不限于与第一应用不相关的应用程序,可以包括但不限于通过第二应用分别抓取第一应用和第二应用从服务器中返回的响应消息中携带的目标数据,上述第二目标数据即为第三应用根据自身业务需要从第二服务器获取的数据,第二服务器为第三应用的后台服务器,第二目标格式可以与上述第一目标格式相同或者不同,第二响应消息即为上述第二服务器向第三应用返回的消息。。
可选地,在本实施例中,上述第二目标格式可以包括但不限于与第一目标格式相同,也可以是与第一目标格式相互独立的数据格式。
例如,图9是根据本发明实施例的又一种数据抓取方法的示意图,如图9所示,在相同或不同的移动终端上同时启动第一应用和第三应用,在第二应用所处终端与第一应用所处终端处于同一个网络的情况下,建立第二应用和第一应用之间的第一目标连接,在第二应用所处终端与第三应用所处终端处于同一个网络的情况下,建立第二应用和第三应用之间的第二目标连接,第一应用、第二应用与第三应用可以包括但不限于属于同一个网络,或者,第一应用与第二应用所处的网络和第三应用与第二应用所处的网络不同。
可选地,在本实施例中,上述第三应用与第一应用可以包括但不限于对应于同一个后台服务器,也即,上述第一服务器。还可以包括但不限于对应于不同的后台服务器,例如,如图9所示,第一应用对应于第一服务器,第三应用对应于第二服务器。
可选地,在本实施例中,上述第一应用或第三应用还可以配置为同一时间段内从多个服务器获取第一目标数据或第二目标数据。
通过本实施例,采用在第二应用上获取第三应用发送的第二目标数据,其中,第二目标数据是第三应用将第二响应数据转换成的目标数据,第二目标数据的数据格式为第二目标格式,第二响应数据是第二响应消息中包括的二进制的响应数据,第二响应消息是将第二服务器发送的第二协议的响应消息转换成的二进制的响应消息,响应于在第二应用上获取到的第二操作指令,在第二应用上显示第二目标数据或者显示第二目标数据中的部分数据的方式,通过在第三应用与第二应用建立了第二目标连接的情况下,在第三应用上将第二目标数据发送至第二应用,以实现通过第二应用抓取上述第二目标数据的目的,从而能够同时抓取多个应用的响应数据,提高了数据抓取的效率,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,方法还包括:
在第三应用上向第二服务器发送第二请求消息,其中,第二请求消息用于请求从第二服务器中获取第二目标数据;
在第三应用上获取第二服务器发送的第二响应消息,其中,第二响应消息是第二服务器响应于第二请求消息发送的响应消息;
在第三应用上将第二响应数据转换成第二目标数据;
在第三应用与第二应用建立了第二目标连接的情况下,在第三应用上将第二目标数据发送给第二应用,其中,第二应用用于对第三应用从第二服务器接收的数据进行抓取。
可选地,在本实施例中,上述第三应用可以包括但不限于在各种应用场景中运营业务的应用程序,具体可以包括但不限于App、小程序等,上述第二服务器可以包括但不限于为上述第三应用运营业务所对应的服务器,可以包括但不限于为一个或多个。
可选地,在本实施例中,上述第二请求消息可以包括但不限于由第三应用生成的,用于从第二服务器请求对应数据的请求消息。上述第二请求消息的类型可以包括但不限于上述第二目标格式的请求消息。
例如,在上述第三应用与第二服务器通过如gRPC协议传输数据的过程中,上述第二请求消息为将原始数据基于预定格式序列化为二进制数据,作为上述第二目标格式的第二请求消息。
可选地,在本实施例中,上述在第三应用上获取第二服务器发送的第二响应消息可以包括但不限于在第二服务器接收到上述第二请求消息后,基于上述预定格式反序列化上述二进制的第二请求消息,以获取原始数据所需要从第二服务器中拉取的数据,并将上述拉取的数据重新基于上述预定格式序列化为上述二进制的第一响应数据,并将包括上述第一响应数据的第一响应信息返回至上述第三应用,以使得在第三应用上获取第二服务器发送的第二响应消息。
可选地,在本实施例中,上述在第三应用上将第一响应数据转换成第二目标数据可以包括但不限于在第三应用上基于上述预定格式将上述第一响应数据反序列化为上述原始数据所需要从第二服务器中拉取的数据,并执行对应的操作,其中,上述预定格式可以包括但不限于在第二请求消息与第二响应消息为基于gRPC协议传输的消息的情况下,将预定格式配置为gRPC对应的proto文件。
以上述第一应用为游戏类型App、第三应用为网页类型App为例,图10是根据本发明实施例的又一种可选的数据抓取方法的示意图,如图10所示,包括但不限于如下内容:
S1002,在第一应用的显示界面上获取用于从第一服务器拉取数据的交互操作,在第三应用的显示界面上获取用于从第二服务器拉取数据的交互操作;
S1004,在第一应用生成请求消息(对应于前述的第一请求消息),在第三应用生成请求消息(对应于前述的第二请求消息);
S1006,在第一应用从第一服务器拉取游戏界面数据(对应于前述的第一目标数据),在第三应用从第二服务器拉取网页界面数据(对应于前述的第二目标数据);
S1008,在第一应用接收并解析由第一服务器返回的数据包(对应于前述的第一响应消息),在第三应用接收并解析由第二服务器返回的数据包(对应于前述的第二响应消息);
S1010,在第一应用与第二应用建立第一目标连接的情况下,将第一响应消息解析后通过第一目标连接发送至第二应用,以实现通过第二应用抓取上述第一目标数据,在第三应用与第二应用建立第二目标连接的情况下,将第二响应消息解析后通过第二目标连接发送至第二应用,以实现通过第二应用抓取上述第二目标数据。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用在第三应用上向第二服务器发送第二请求消息,其中,第二请求消息用于请求从第二服务器中获取第二目标数据,在第三应用上获取第二服务器发送的第二响应消息,其中,第二响应消息是第二服务器响应于第二请求消息发送的响应消息,在第三应用上将第二响应数据转换成第二目标数据,在第三应用与第二应用建立了第二目标连接的情况下,在第三应用上将第二目标数据发送给第二应用,其中,第二应用用于对第三应用从第二服务器接收的数据进行抓取的方式,通过在第三应用与第二应用建立了第二目标连接的情况下,在第三应用上将第二目标数据发送至第二应用,以实现通过第二应用抓取上述第二目标数据的目的,从而能够同时抓取多个应用的响应数据,提高了数据抓取的效率,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,方法还包括:
在第二应用上获取第一应用发送的第三目标数据,其中,第三目标数据是第一应用将第三响应数据转换成的目标数据,第三目标数据的数据格式为第三目标格式,第三响应数据是第三响应消息中包括的二进制的响应数据,第三响应消息是将第三服务器发送的第三协议的响应消息转换成的二进制的响应消息;
响应于在第二应用上获取到的第三操作指令,在第二应用上显示第三目标数据或者显示第三目标数据中的部分数据。
可选地,在本实施例中,上述第三服务器与第二服务器不同,上述第三应用可以分别从上述第二服务器与上述第三服务器获取目标数据,上述第三目标数据即为第三应用根据自身业务需求从上述第三服务器获取的目标数据,上述第三响应数据即为上述第三服务器返回至第三应用的数据。
可选地,在本实施例中,上述将第三响应数据转换成目标数据的方式可以与上述将第二响应数据转换成目标数据的方式相同,例如,在协议类型为gRPC协议的情况下,通过利用proto文件,反序列化上述第三响应数据,以实现将第三响应数据转换成目标数据。
具体而言,反序列化将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程。
Protobuf反序列化过程如下:
S1,调用消息类的parseFrom(input)解析从输入流读入的二进制字节数据流。
S2,将解析出来的数据按照指定的格式读取到Java、C++、Phyton对应的结构类型中。
上述仅是一种示例,本实施例不做任何具体限定。
通过本实施例,采用在第二应用上获取第一应用发送的第三目标数据,其中,第三目标数据是第一应用将第三响应数据转换成的目标数据,第三目标数据的数据格式为第三目标格式,第三响应数据是第三响应消息中包括的二进制的响应数据,第三响应消息是将第三服务器发送的第三协议的响应消息转换成的二进制的响应消息,响应于在第二应用上获取到的第三操作指令,在第二应用上显示第三目标数据或者显示第三目标数据中的部分数据的方式,通过在第三服务器上根据协议类型转化成二进制的第三请求消息,能够有效地降低数据传输量,提高通信效率,便于将第三目标数据发送至第二应用,从而避免了相关技术中需要在运行抓取软件的电脑上保存转换文件才能获取服务器返回给目标应用的数据的问题,降低了抓取数据的成本,并且,避免了相关技术中在电脑和目标应用都进行数据的转换过程,达到减少计算资源的浪费的技术效果,进而解决了相关技术中存在的数据抓取的效率较低的技术问题。
作为一种可选的方案,方法还包括:
在第一应用上将第一响应数据转换成第一目标数据的情况下,将第一目标数据保存在目标数据库中,其中,目标数据库中的数据被设置为允许被web访问请求访问。
可选地,在本实施例中,上述将第一目标数据保存在目标数据库中可以包括但不限于配置为在第一应用将第一响应数据转换成第一目标数据之后,自动将第一目标数据保存在目标数据库中,还可以包括但不限于在第一响应数据转换成第一目标数据之后,由第二应用将筛选后的第一目标数据保存在目标数据库中。
通过本实施例,可以通过web请求实现访问上述目标数据库,以显示上述第一目标数据,达到实时监控开发设备App的所有gRPC协议的请求和响应数据,在开发联调过程中,出现任何调试问题的时候,可以快速查看后台返回的数据,提高开发效率。
作为一种可选的方案,方法还包括:
向第二IP地址发送web访问请求,其中,第二IP地址为目标数据库的访问地址,web访问请求用于访问目标数据库中的第一目标数据;
获取目标数据库响应于web访问请求返回的第一目标数据。
可选地,在本实施例中,可以包括但不限于预先在第一应用端配置访问开关,在第一服务器接收到第一应用的第一请求消息之后,将第一目标数据保存在目标数据库,再通过web访问请求直接访问目标数据库中存储的第一目标数据。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述数据抓取方法的数据抓取装置。如图11所示,该装置包括:
第一发送模块1102,用于在第一应用上向第一服务器发送第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取第一目标数据,所述第一目标数据的数据格式为第一目标格式;
第一获取模块1104,用于在所述第一应用上获取所述第一服务器发送的第一响应消息,其中,所述第一响应消息是所述第一服务器响应于所述第一请求消息发送的响应消息,所述第一响应消息中包括二进制的第一响应数据;
第一转换模块1106,用于在所述第一应用上将所述第一响应数据转换成所述第一目标数据;
第二发送模块1108,用于在所述第一应用与第二应用建立了第一目标连接的情况下,在所述第一应用上将所述第一目标数据发送给所述第二应用,其中,所述第二应用用于对所述第一应用从所述第一服务器接收的数据进行抓取。
作为一种可选的方案,所述装置还包括:
第二获取模块,用于在第一应用上向第一服务器发送第一请求消息之前,在所述第一应用上获取所述第二应用发送的连接建立请求;
建立模块,用于响应于所述连接建立请求,在所述第一应用上与所述第二应用建立所述第一目标连接,其中,在所述第一目标连接建立成功的情况下,所述第一应用被设置为在所述第一应用上将所述第一服务器发送的所述第一响应数据转换成所述第一目标数据的情况下,主动通过所述第一目标连接向所述第二应用发送所述第一目标数据。
作为一种可选的方案,所述装置还包括:
第三发送模块,用于在所述第一应用与所述第二应用处于同一个局域网中的情况下,在所述第二应用上通过第一IP地址向所述第一应用发送所述连接建立请求,其中,所述第一IP地址为所述第一应用在所述局域网中的IP地址。
作为一种可选的方案,所述第一发送模块1102,包括:
第一转换单元,用于在所述第一应用请求调用第一目标服务的情况下,在所述第一应用上将第一协议的请求消息转换成二进制的所述第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取所述第一目标服务所需的所述第一目标数据;
第一发送单元,用于在所述第一应用上将所述第一请求消息通过所述第一协议的客户端发送给所述第一服务器上的所述第一协议的服务端。
作为一种可选的方案,所述第一获取模块1104,包括:
第一获取单元,用于通过所述客户端获取所述服务端发送的所述第一响应消息,其中,所述第一响应消息是将所述第一服务器发送的所述第一协议的响应消息转换成的二进制的响应消息;
第二发送单元,用于通过所述客户端将所述第一响应消息发送给所述第一应用。
作为一种可选的方案,所述装置还包括:
第三获取模块,用于在所述第二应用上获取所述第一应用发送的所述第一目标数据;
第一显示模块,用于响应于在所述第二应用上获取到的第一操作指令,在所述第二应用上显示所述第一目标数据或者显示所述第一目标数据中的部分数据。
作为一种可选的方案,所述装置还包括:
第四获取模块,用于在所述第二应用上获取第三应用发送的第二目标数据,其中,所述第二目标数据是所述第三应用将第二响应数据转换成的目标数据,所述第二目标数据的数据格式为第二目标格式,所述第二响应数据是第二响应消息中包括的二进制的响应数据,所述第二响应消息是将第二服务器发送的第二协议的响应消息转换成的二进制的响应消息;
第二显示模块,用于响应于在所述第二应用上获取到的第二操作指令,在所述第二应用上显示所述第二目标数据或者显示所述第二目标数据中的部分数据。
作为一种可选的方案,所述装置还包括:
第四发送模块,用于在所述第三应用上向所述第二服务器发送第二请求消息,其中,所述第二请求消息用于请求从所述第二服务器中获取第二目标数据;
第五获取模块,用于在所述第三应用上获取所述第二服务器发送的第二响应消息,其中,所述第二响应消息是所述第二服务器响应于所述第二请求消息发送的响应消息;
第二转换模块,用于在所述第三应用上将所述第二响应数据转换成所述第二目标数据;
第五发送模块,用于在所述第三应用与所述第二应用建立了第二目标连接的情况下,在所述第三应用上将所述第二目标数据发送给所述第二应用,其中,所述第二应用用于对所述第三应用从所述第二服务器接收的数据进行抓取。
作为一种可选的方案,所述装置还包括:
第六获取模块,用于在所述第二应用上获取所述第一应用发送的第三目标数据,其中,所述第三目标数据是所述第一应用将第三响应数据转换成的目标数据,所述第三目标数据的数据格式为第三目标格式,所述第三响应数据是第三响应消息中包括的二进制的响应数据,所述第三响应消息是将第三服务器发送的第三协议的响应消息转换成的二进制的响应消息;
第三显示模块,用于响应于在所述第二应用上获取到的第三操作指令,在所述第二应用上显示所述第三目标数据或者显示所述第三目标数据中的部分数据。
作为一种可选的方案,所述装置还包括:
保存模块,用于在所述第一应用上将所述第一响应数据转换成所述第一目标数据的情况下,将所述第一目标数据保存在目标数据库中,其中,所述目标数据库中的数据被设置为允许被web访问请求访问。
作为一种可选的方案,所述装置还包括:
第六发送模块,用于向第二IP地址发送所述web访问请求,其中,所述第二IP地址为所述目标数据库的访问地址,所述web访问请求用于访问所述目标数据库中的所述第一目标数据;
第七获取模块,用于获取所述目标数据库响应于所述web访问请求返回的所述第一目标数据。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据抓取方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为终端为例来说明。如图12所示,该电子设备包括存储器1202和处理器1204,该存储器1202中存储有计算机程序,该处理器1204被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在第一应用上向第一服务器发送第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标数据,第一目标数据的数据格式为第一目标格式;
S2,在第一应用上获取第一服务器发送的第一响应消息,其中,第一响应消息是第一服务器响应于第一请求消息发送的响应消息,第一响应消息中包括二进制的第一响应数据;
S3,在第一应用上将第一响应数据转换成第一目标数据;
S4,在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送给第二应用,其中,第二应用用于对第一应用从第一服务器接收的数据进行抓取。
可选地,本领域普通技术人员可以理解,图12所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图12其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图12中所示更多或者更少的组件(如网络接口等),或者具有与图12所示不同的配置。
其中,存储器1202可用于存储软件程序以及模块,如本发明实施例中的数据抓取方法和装置对应的程序指令/模块,处理器1204通过运行存储在存储器1202内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据抓取方法。存储器1202可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1202可进一步包括相对于处理器1204远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1202具体可以但不限于用于存储第一目标数据等信息。作为一种示例,如图12所示,上述存储器1202中可以但不限于包括上述数据抓取装置中的第一发送模块1102、第一获取模块1104、第一转换模块1106以及第二发送模块1108。此外,还可以包括但不限于上述数据抓取装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1206包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1206为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1208,用于显示上述第一目标数据;和连接总线1211,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据抓取方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在第一应用上向第一服务器发送第一请求消息,其中,第一请求消息用于请求从第一服务器中获取第一目标数据,第一目标数据的数据格式为第一目标格式;
S2,在第一应用上获取第一服务器发送的第一响应消息,其中,第一响应消息是第一服务器响应于第一请求消息发送的响应消息,第一响应消息中包括二进制的第一响应数据;
S3,在第一应用上将第一响应数据转换成第一目标数据;
S4,在第一应用与第二应用建立了第一目标连接的情况下,在第一应用上将第一目标数据发送给第二应用,其中,第二应用用于对第一应用从第一服务器接收的数据进行抓取。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种数据抓取方法,其特征在于,包括:
在第一应用上向第一服务器发送第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取第一目标数据,所述第一目标数据的数据格式为第一目标格式;
在所述第一应用上获取所述第一服务器发送的第一响应消息,其中,所述第一响应消息是所述第一服务器响应于所述第一请求消息发送的响应消息,所述第一响应消息中包括二进制的第一响应数据;
在所述第一应用上将所述第一响应数据转换成所述第一目标数据;
在所述第一应用与第二应用建立了第一目标连接的情况下,在所述第一应用上将所述第一目标数据发送给所述第二应用,其中,所述第二应用用于对所述第一应用从所述第一服务器接收的数据进行抓取。
2.根据权利要求1所述的方法,其特征在于,所述在第一应用上向第一服务器发送第一请求消息之前,所述方法还包括:
在所述第一应用上获取所述第二应用发送的连接建立请求;
响应于所述连接建立请求,在所述第一应用上与所述第二应用建立所述第一目标连接,其中,在所述第一目标连接建立成功的情况下,所述第一应用被设置为在所述第一应用上将所述第一服务器发送的所述第一响应数据转换成所述第一目标数据的情况下,主动通过所述第一目标连接向所述第二应用发送所述第一目标数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第一应用与所述第二应用处于同一个局域网中的情况下,在所述第二应用上通过第一IP地址向所述第一应用发送所述连接建立请求,其中,所述第一IP地址为所述第一应用在所述局域网中的IP地址。
4.根据权利要求1所述的方法,其特征在于,所述在第一应用上向第一服务器发送第一请求消息,包括:
在所述第一应用请求调用第一目标服务的情况下,在所述第一应用上将第一协议的请求消息转换成二进制的所述第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取所述第一目标服务所需的所述第一目标数据;
在所述第一应用上将所述第一请求消息通过所述第一协议的客户端发送给所述第一服务器上的所述第一协议的服务端。
5.根据权利要求4所述的方法,其特征在于,所述在所述第一应用上获取所述第一服务器发送的第一响应消息,包括:
通过所述客户端获取所述服务端发送的所述第一响应消息,其中,所述第一响应消息是将所述第一服务器发送的所述第一协议的响应消息转换成的二进制的响应消息;
通过所述客户端将所述第一响应消息发送给所述第一应用。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二应用上获取所述第一应用发送的所述第一目标数据;
响应于在所述第二应用上获取到的第一操作指令,在所述第二应用上显示所述第一目标数据或者显示所述第一目标数据中的部分数据。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二应用上获取第三应用发送的第二目标数据,其中,所述第二目标数据是所述第三应用将第二响应数据转换成的目标数据,所述第二目标数据的数据格式为第二目标格式,所述第二响应数据是第二响应消息中包括的二进制的响应数据,所述第二响应消息是将第二服务器发送的第二协议的响应消息转换成的二进制的响应消息;
响应于在所述第二应用上获取到的第二操作指令,在所述第二应用上显示所述第二目标数据或者显示所述第二目标数据中的部分数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述第三应用上向所述第二服务器发送第二请求消息,其中,所述第二请求消息用于请求从所述第二服务器中获取第二目标数据;
在所述第三应用上获取所述第二服务器发送的第二响应消息,其中,所述第二响应消息是所述第二服务器响应于所述第二请求消息发送的响应消息;
在所述第三应用上将所述第二响应数据转换成所述第二目标数据;在所述第三应用与所述第二应用建立了第二目标连接的情况下,在所述第三应用上将所述第二目标数据发送给所述第二应用,其中,所述第二应用用于对所述第三应用从所述第二服务器接收的数据进行抓取。
9.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二应用上获取所述第一应用发送的第三目标数据,其中,所述第三目标数据是所述第一应用将第三响应数据转换成的目标数据,所述第三目标数据的数据格式为第三目标格式,所述第三响应数据是第三响应消息中包括的二进制的响应数据,所述第三响应消息是将第三服务器发送的第三协议的响应消息转换成的二进制的响应消息;
响应于在所述第二应用上获取到的第三操作指令,在所述第二应用上显示所述第三目标数据或者显示所述第三目标数据中的部分数据。
10.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一应用上将所述第一响应数据转换成所述第一目标数据的情况下,将所述第一目标数据保存在目标数据库中,其中,所述目标数据库中的数据被设置为允许被web访问请求访问。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
向第二IP地址发送所述web访问请求,其中,所述第二IP地址为所述目标数据库的访问地址,所述web访问请求用于访问所述目标数据库中的所述第一目标数据;
获取所述目标数据库响应于所述web访问请求返回的所述第一目标数据。
12.一种数据抓取装置,其特征在于,包括:
第一发送模块,用于在第一应用上向第一服务器发送第一请求消息,其中,所述第一请求消息用于请求从所述第一服务器中获取第一目标数据,所述第一目标数据的数据格式为第一目标格式;
第一获取模块,用于在所述第一应用上获取所述第一服务器发送的第一响应消息,其中,所述第一响应消息是所述第一服务器响应于所述第一请求消息发送的响应消息,所述第一响应消息中包括二进制的第一响应数据;
第一转换模块,用于在所述第一应用上将所述第一响应数据转换成所述第一目标数据;
第二发送模块,用于在所述第一应用与第二应用建立了第一目标连接的情况下,在所述第一应用上将所述第一目标数据发送给所述第二应用,其中,所述第二应用用于对所述第一应用从所述第一服务器接收的数据进行抓取。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于在第一应用上向第一服务器发送第一请求消息之前,在所述第一应用上获取所述第二应用发送的连接建立请求;建立模块,用于响应于所述连接建立请求,在所述第一应用上与所述第二应用建立所述第一目标连接,其中,在所述第一目标连接建立成功的情况下,所述第一应用被设置为在所述第一应用上将所述第一服务器发送的所述第一响应数据转换成所述第一目标数据的情况下,主动通过所述第一目标连接向所述第二应用发送所述第一目标数据。
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至11任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
CN202110296961.1A 2021-03-19 2021-03-19 数据抓取方法和装置、存储介质及电子设备 Active CN113065049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110296961.1A CN113065049B (zh) 2021-03-19 2021-03-19 数据抓取方法和装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110296961.1A CN113065049B (zh) 2021-03-19 2021-03-19 数据抓取方法和装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN113065049A true CN113065049A (zh) 2021-07-02
CN113065049B CN113065049B (zh) 2024-06-14

Family

ID=76562590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110296961.1A Active CN113065049B (zh) 2021-03-19 2021-03-19 数据抓取方法和装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN113065049B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970378A (zh) * 2012-12-13 2013-03-13 中国电子科技集团公司第十五研究所 二进制数据优化传输系统
JP2016006641A (ja) * 2014-05-30 2016-01-14 アマデウス エス.アー.エス.Amadeus S.A.S. コンテンツ管理システム
CN107526926A (zh) * 2017-08-09 2017-12-29 沈阳东软医疗系统有限公司 一种图像体数据分割标识处理方法、装置及设备
CN108011927A (zh) * 2017-11-08 2018-05-08 东软集团股份有限公司 请求数据的方法、装置以及存储介质和电子设备
US20190222634A1 (en) * 2018-01-18 2019-07-18 International Business Machines Corporation Translating a user's working context from one operating system and associated applications to a different operating system and associated applications
CN110347731A (zh) * 2018-03-13 2019-10-18 北京京东尚科信息技术有限公司 获取数据的方法和系统
CN110753050A (zh) * 2019-10-22 2020-02-04 网易(杭州)网络有限公司 协议文档的生成方法及装置、计算机存储介质、电子设备
CN111104577A (zh) * 2019-10-31 2020-05-05 北京金堤科技有限公司 数据处理方法、装置、计算机可读存储介质及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102970378A (zh) * 2012-12-13 2013-03-13 中国电子科技集团公司第十五研究所 二进制数据优化传输系统
JP2016006641A (ja) * 2014-05-30 2016-01-14 アマデウス エス.アー.エス.Amadeus S.A.S. コンテンツ管理システム
CN107526926A (zh) * 2017-08-09 2017-12-29 沈阳东软医疗系统有限公司 一种图像体数据分割标识处理方法、装置及设备
CN108011927A (zh) * 2017-11-08 2018-05-08 东软集团股份有限公司 请求数据的方法、装置以及存储介质和电子设备
US20190222634A1 (en) * 2018-01-18 2019-07-18 International Business Machines Corporation Translating a user's working context from one operating system and associated applications to a different operating system and associated applications
CN110347731A (zh) * 2018-03-13 2019-10-18 北京京东尚科信息技术有限公司 获取数据的方法和系统
CN110753050A (zh) * 2019-10-22 2020-02-04 网易(杭州)网络有限公司 协议文档的生成方法及装置、计算机存储介质、电子设备
CN111104577A (zh) * 2019-10-31 2020-05-05 北京金堤科技有限公司 数据处理方法、装置、计算机可读存储介质及电子设备

Also Published As

Publication number Publication date
CN113065049B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
US10034057B2 (en) Message processing method, device, gateway, STB and IPTV
KR20070000467A (ko) 이동 단말기와 관련된 데이터 베이스, 서비스 및 장치들의원격 관리 및 액세스
CN110677432A (zh) 一种网络协议内部代理转发方法、装置、介质及终端设备
US20130058266A1 (en) Method and system for realizing wireless USB flash disk
WO2022267635A1 (zh) 用于数据交互的方法和装置
CN108696523B (zh) 一种通话服务的响应方法及设备
CN111831247A (zh) 基于二维码的投屏方法、装置、设备及存储介质
CN110399578A (zh) 页面访问方法及装置
CN114124929A (zh) 跨网络的数据处理方法和装置
CN112019900A (zh) 基于dlna的投屏方法、系统、设备及存储介质
CN111294235A (zh) 数据处理方法、装置、网关及可读存储介质
CN107846609B (zh) 控制室数据实时传输方法、装置和系统
WO2018072095A1 (zh) 一种压力测试管理方法及系统
CN113518022A (zh) 用于用户设备与家居设备连接配置的方法
CN113065049B (zh) 数据抓取方法和装置、存储介质及电子设备
CN107979568A (zh) 一种视频监控应用系统
CN111935316B (zh) 一种前端设备目录获取方法及装置
CN112565458B (zh) 平台远程控制方法和装置、存储介质及电子设备
CN112698829B (zh) 异常资源的定位方法和装置、存储介质及电子设备
CN112383617B (zh) 进行长连接的方法、装置、终端设备以及介质
CN113852522A (zh) 一种基于多平台的摄像头绑定和解绑方法
CN112398718A (zh) 一种网络传输方法、装置、电子设备及存储介质
CN112291207B (zh) 一种前端设备目录获取方法及装置
CN105263134A (zh) 一种图像传输方法及移动设备
CN112291210B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40049230

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant