CN110968297A - 一种数据爬取方法及装置 - Google Patents
一种数据爬取方法及装置 Download PDFInfo
- Publication number
- CN110968297A CN110968297A CN201811157671.3A CN201811157671A CN110968297A CN 110968297 A CN110968297 A CN 110968297A CN 201811157671 A CN201811157671 A CN 201811157671A CN 110968297 A CN110968297 A CN 110968297A
- Authority
- CN
- China
- Prior art keywords
- data
- data crawling
- module
- crawling
- task
- 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
Links
- 230000009193 crawling Effects 0.000 title claims abstract description 569
- 238000000034 method Methods 0.000 title claims abstract description 252
- 230000008569 process Effects 0.000 claims abstract description 181
- 238000012544 monitoring process Methods 0.000 claims description 49
- 230000002159 abnormal effect Effects 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008901 benefit Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种数据爬取方法及装置,涉及爬虫技术领域,利用在Xposed框架下编写通用的Xposed模块来优化爬取应用程序的数据信息的方法,增强Xposed模块的通用性,节约开发成本,同时轻量化Xposed模块,也有助于提高Xposed模块处理性能,本发明的主要技术方案为:守护进程获取数据爬取任务;所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。本发明应用于爬取应用程序上的数据信息。
Description
技术领域
本发明涉及爬虫技术领域,尤其涉及一种数据爬取方法及装置。
背景技术
Xposed框架是一款可以在不修改Android安装包(APK,Android Package)的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的Xposed模块,多个Xposed模块可以在功能不冲突的情况下同时运作。
目前,可以将Xposed模块写在一个应用程序里来执行爬取该应用程序上指定数据信息的操作。对于一次爬取操作,在对Xposed模块进行编码时,开发人员会将爬取任务预先写入该Xposed模块,同时还会根据Xposed模块所在的应用程序对其进行初始化处理,进而使得Xposed模块可以在其所在的应用程序的运行环境下在应用程序的某些系统方法或者自定义方法中添加“钩子”,当应用程序调用某个方法时,Xposed模块就可以通过回调“钩子”来获取相应传入的参数数据以及运行结果数据,从而完成自动爬取其所在应用程序上指定数据信息的操作,比如:爬取图片、文字等等。
然而,对于上述编码的Xposed模块,若更改爬取任务,则需要对Xposed模块进行重新编码,又或者再更换待爬取的应用程序,则甚至还需要根据待爬取的应用程序包名对Xposed模块重新执行初始化处理,所以上述编写的Xposed模块定制化程度过高,当对于切换执行不同的爬取操作时,都需要对Xposed模块进行重新开发,导致耗费开发成本过高。
发明内容
有鉴于此,本发明提供一种数据爬取方法及装置,主要目的在于利用在Xposed框架下编写通用的Xposed模块来优化爬取应用程序的数据信息的方法,增强Xposed模块的通用性,节约开发成本,并且由于通用的Xposed模块内并没有编写爬取任务等过多逻辑所以可以更加轻量化,这也将有助于提高Xposed模块处理性能。
为了解决上述问题,本发明主要提供如下技术方案:
一方面,本发明提供了一种数据爬取方法,该方法包括:
守护进程获取数据爬取任务;
所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;
所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
可选的,所述方法还包括:
在所述守护进程获取数据爬取任务之后,所述守护进程将所述数据爬取任务发送至第三方应用,以便所述第三方应用根据所述数据爬取任务打开待爬取的应用程序;和/或,
将所述数据爬取模块与所述守护进程建立绑定关系;和/或,
将所述数据爬取模块与所述守护进程建立绑定关系,包括:
若所述守护进程将所述数据爬取任务下发至一个数据爬取模块,则将所述数据爬取模块与所述守护进程建立绑定关系;和/或,
若所述守护进程将所述数据爬取任务下发至多个数据爬取模块,则在确定执行所述数据爬取任务的数据爬取模块后,将确定执行数据爬取任务的数据爬取模块与所述守护进程建立绑定关系;和/或,
所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息,包括:
所述守护进程接收与其存在绑定关系的所述数据爬取模块发送的爬取到的数据信息,以便所述守护进程将所述爬取到的数据信息上报至服务端。
可选的,所述数据爬取模块根据所述数据爬取任务爬取应用程序的数据信息,包括:
所述数据爬取模块对所述数据爬取任务进行解析得到对应的任务信息,所述任务信息中至少包含任务标识以及对应的预设配置文件,所述预设配置文件用于对所述数据爬取模块进行初始化处理以及控制所述数据爬取模块执行爬取应用程序上指定数据信息的操作;
根据所述预设配置文件内存储的应用程序的包名,确定待爬取的应用程序;
根据所述预设配置文件内存储的任务类型,确定待爬取的数据内容;
所述数据爬取模块将预置钩子添加至待爬取的应用程序的指定位置,并通过所述预置钩子,在所述待爬取的应用程序的指定位置爬取与所述待爬取的数据内容相对应的目标数据信息。
可选的,在所述守护进程将所述数据爬取任务下发至多个数据爬取模块之后,所述数据爬取模块判断是否执行所述数据爬取任务对应的爬取操作,包括:
所述数据爬取模块根据所述数据爬取任务,获取所述待爬取的应用程序的包名;
所述数据爬取模块获取其对应的指定的应用程序的包名;
所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名是否相同;
若相同,则确定所述数据爬取模块执行爬取操作。
可选的,在所述守护进程获取数据爬取任务之前,所述方法还包括:
将所述守护进程与预设监控进程进行绑定,并设定所述守护进程和所述预设监控进程的优先级,所述预设监控进程用于监控所述守护进程的生命周期,所述守护进程的优先级高于前端服务进程的优先级、且低于所述预设监控进程的优先级;
当所述预设监控进程监控到与所述守护进程存在通信连接的进程数量小于预设阈值时,则重启所述守护进程。
可选的,所述方法还包括:
若在预设时间内,所述守护进程未接收到所述数据爬取模块上报的所述爬取到的数据信息,则确定本次数据爬取任务爬取异常;和/或,
当所述守护进程接收到所述数据爬取模块上报的报错信息时,确定本次数据爬取任务爬取异常;和/或,
在确定数据爬取任务爬取异常时,所述守护进程重新向所述数据爬取模块下发所述数据爬取任务。
为了实现上述目的,根据本发明的另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据爬取方法。
为了实现上述目的,根据本发明的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的数据爬取方法。
另一方面,本发明还提供了一种数据爬取装置,该装置包括:
获取单元,用于守护进程获取数据爬取任务;
下发单元,用于所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;
爬取单元,用于所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息;
接收单元,用于所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
可选的,所述装置还包括:
发送单元,用于在所述守护进程获取数据爬取任务之后,所述守护进程将所述数据爬取任务发送至第三方应用,以便所述第三方应用根据所述数据爬取任务打开待爬取的应用程序;
绑定单元,用于将所述数据爬取模块与所述守护进程建立绑定关系;
所述绑定单元包括:第一绑定模块、确定模块以及第二绑定模块;
所述第一绑定模块,用于若所述守护进程将所述数据爬取任务下发至一个数据爬取模块,则将所述数据爬取模块与所述守护进程建立绑定关系;
所述确定模块,用于若所述守护进程将所述数据爬取任务下发至多个数据爬取模块,则确定执行所述数据爬取任务的数据爬取模块;
所述第二绑定模块,用于将确定执行数据爬取任务的数据爬取模块与所述守护进程建立绑定关系;
所述接收单元包括:接收模块;
所述接收模块,用于所述守护进程接收与其存在绑定关系的所述数据爬取模块发送的爬取到的数据信息,以便所述守护进程将所述爬取到的数据信息上报至服务端。
可选的,所述爬取单元包括:
解析模块,用于所述数据爬取模块对所述数据爬取任务进行解析得到对应的任务信息,所述任务信息中至少包含任务标识以及对应的预设配置文件,所述预设配置文件用于对所述数据爬取模块进行初始化处理以及控制所述数据爬取模块执行爬取应用程序上指定数据信息的操作;
第一确定模块,用于根据所述预设配置文件内存储的应用程序的包名,确定待爬取的应用程序;
第二确定模块,用于根据所述预设配置文件内存储的任务类型,确定待爬取的数据内容;
添加模块,用于所述数据爬取模块将预置钩子添加至待爬取的应用程序的指定位置;
爬取模块,用于通过所述预置钩子,在所述待爬取的应用程序的指定位置爬取与所述待爬取的数据内容相对应的目标数据信息。
可选的,所述绑定单元还包括:判断模块,
所述判断模块,用于在所述守护进程将所述数据爬取任务下发至多个数据爬取模块之后,所述数据爬取模块判断是否执行所述数据爬取任务对应的爬取操作;
所述判断模块包括:获取子模块、判断子模块以及确定子模块;
所述获取子模块,用于所述数据爬取模块根据所述数据爬取任务,获取所述待爬取的应用程序的包名;
所述获取子模块,还用于所述数据爬取模块获取其对应的指定的应用程序的包名;
所述判断子模块,用于所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名是否相同;
所述确定子模块,用于当所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名相同时,则确定所述数据爬取模块执行爬取操作。
可选的,所述装置还包括:
执行单元,用于将所述守护进程与预设监控进程进行绑定,并设定所述守护进程和所述预设监控进程的优先级,所述预设监控进程用于监控所述守护进程的生命周期,所述守护进程的优先级高于前端服务进程的优先级、且低于所述预设监控进程的优先级;
重启单元,用于当所述预设监控进程监控到与所述守护进程存在通信连接的进程数量小于预设阈值时,则重启所述守护进程。
可选的,所述装置还包括:
确定单元,用于若在预设时间内,所述守护进程未接收到所述数据爬取模块上报的所述爬取到的数据信息,则确定本次数据爬取任务爬取异常;和/或,
所述确定单元,还用于当所述守护进程接收到所述数据爬取模块上报的报错信息时,确定本次数据爬取任务爬取异常;和/或,
所述下发单元,还用于在确定数据爬取任务爬取异常时,所述守护进程重新向所述数据爬取模块下发所述数据爬取任务。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供一种数据爬取方法及装置,本发明是在Xposed框架下编写一个通用的Xposed模块作为数据爬取模块,当利用守护进程获取数据爬取任务并将数据爬取任务下发给数据爬取模块时,数据爬取模块可以根据数据爬取任务在指定的应用程序上爬取数据信息,并将爬取到的数据信息反馈发送至守护进程,在本发明中数据爬取任务等逻辑并不是编写在数据爬取模块内,而是由守护进程来下发给数据爬取模块的,进而当数据爬取模块接收到不同的数据爬取任务,就可以在不同的指定应用程序上爬取对应的数据信息,与现有技术相比,避免因切换执行不同的爬取操作而需要对Xposed模块重新开发导致耗费开发成本过高的问题。本发明是利用在Xposed框架下编写通用的Xposed模块来优化爬取应用程序的数据信息的方法,增强Xposed模块的通用性,节约开发成本,并且由于通用的Xposed模块内并没有编写数据爬取任务等过多逻辑所以可以更加轻量化,这也将有助于提高Xposed模块处理性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种数据爬取方法流程图;
图2为本发明实施例提供的另一种数据爬取方法流程图;
图3为本发明实施例提供的一种数据爬取装置的组成框图;
图4为本发明实施例提供的另一种数据爬取装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据爬取方法,如图1所示,该方法是在Xposed框架下编写一个通用的Xposed模块作为数据爬取模块,当利用守护进程获取数据爬取任务并将数据爬取任务下发给数据爬取模块时,数据爬取模块可以根据数据爬取任务在指定的应用程序上爬取数据信息,对此本发明实施例提供以下具体步骤:
101、守护进程获取数据爬取任务。
其中,守护进程是一类在后台运行的特殊进程,用于执行特定的系统任务,很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。在本发明实施例中,是引入一个守护型的Android Service进程,在系统启动后一直运行在后台并保持一直运行到系统关闭。
其中,数据爬取任务可以是在服务端创建的,一个数据爬取任务用于指示执行爬取哪个应用程序上的哪些指定数据信息的操作。
在本发明实施例中,可以利用一直运行在后台的守护进程不断接收服务端下发的数据爬取任务。
102、守护进程将数据爬取任务下发至数据爬取模块,以使数据爬取模块从应用程序中爬取数据信息。
其中,数据爬取模块是指在Xposed框架下编写的自定义Xposed模块以用于爬取应用程序的数据信息。但是,在本发明实施例中,在编写数据爬取模块时并不预先写入数据爬取任务,也并不会针对某一个应用程序而对该数据爬取模块进行初始化处理,所以在本发明实施例中是编写一个数据爬取模块并将其复用在1个或多个不同的应用程序上,也就是在每个应用程序上都可以预先部署一个相同的数据爬取模块,进而使得一个数据爬取模块可以在其对应所在应用程序上执行相应的爬取操作。
在本发明实施例中,守护进程相当于是一个桥接,用于从服务端接收数据爬取任务,并将数据爬取任务下发至每个应用程序上的数据爬取模块。具体的,守护进程可以通过广播下发一个数据爬取任务,每个应用程序上的数据爬取模块可以通过广播侦听接收数据爬取任务。
需要说明的是,当守护进程接收到数据爬取任务时,在Android系统下就需要根据数据爬取任务将待爬取的目标应用程序打开,具体的打开目标应用程序的方法,本发明实施例不做限定。在一个应用程序被打开的前提下,应用程序上的数据爬取模块才能被添加广播侦听来接收到数据爬取任务,并且数据爬取模块才能在其对应的应用程序运行环境下执行相应的爬取操作。
103、守护进程接收数据爬取模块根据数据爬取任务从应用程序中爬取的数据信息。
在本发明实施例中,当数据爬取模块接收到守护进程下发的数据爬取任务时,数据爬取模块可以根据数据爬取任务确定待爬取的应用程序,进而在对应的应用程序上由数据爬取模块爬取指定的数据信息。
本发明实施例提供一种数据爬取方法及装置,本发明实施例是在Xposed框架下编写一个通用的Xposed模块作为数据爬取模块,当利用守护进程获取数据爬取任务并将数据爬取任务下发给数据爬取模块时,数据爬取模块可以根据数据爬取任务在指定的应用程序上爬取数据信息,并将爬取到的数据信息反馈发送至守护进程,在本发明实施例中数据爬取任务等逻辑并不是写在数据爬取模块内,而是由守护进程来下发给数据爬取模块的,进而当数据爬取模块接收到不同的数据爬取任务,就可以在不同的指定应用程序上爬取对应的数据信息,与现有技术相比,避免因切换执行不同的爬取操作而需要对Xposed模块重新开发导致耗费开发成本过高的问题。本发明实施例是利用在Xposed框架下编写通用的Xposed模块来优化爬取应用程序的数据信息的方法,增强Xposed模块的通用性,节约开发成本,并且由于通用的Xposed模块内并没有编写数据爬取任务等过多逻辑所以可以更加轻量化,这也将有助于提高Xposed模块处理性能。
为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种数据爬取方法,如图2所示,该方法是将守护进程作为桥接,用于获取数据爬取任务、将数据爬取任务下发至数据爬取模块,以及在当数据爬取模块爬取到数据信息时,该守护进程作为桥接将爬取到的数据信息上报至服务端,以避免数据爬取模块直接将爬取到数据信息发送至服务端而被应用程序拦截,对此本发明实施例提供以下具体步骤:
201、将守护进程与预设监控进程进行绑定,并设定守护进程和预设监控进程的优先级。
其中,预设监控进程用于监控守护进程的生命周期,守护进程的优先级高于前端服务进程的优先级、且低于预设监控进程的优先级。
在本发明实施例中,可以将守护进程与一个预设监控进程建立绑定连接,该预设监控进程用于监控守护进程的生命周期。由于Android系统会在系统内存不足时杀死后台运行程序,若守护进程被系统杀死,那么将严重影响本实施例实施例方法的实现,因而可以利用一个优先级高于该守护进程的预设监控进程来监控该守护进程的生命周期,若发现守护进程即将要被杀死时,就触发重启该守护进程,以保持守护进程一直运行直到Android系统被关闭。
进一步的,在Android系统内,一般,前端服务进程的优先级会高于后台服务进程的优先级,因而在本发明实施例中可以将守护进程的优先级设置高于或者也可以等于前端服务进程的优先级,以降低守护进程被杀死的可能性,另外,对于上述提及的预设监控进程,可以设置守护进程与预设监控进程之间是相互守护的状态,因而若发生预设监控进程被杀死时,还可以由守护进程触发重启预设进程,以保证预设监控进程可以实时地一直监控守护进程的生命周期,最终保持守护进程一直运行直至Android系统关闭。
202、当预设监控进程监控到与守护进程存在通信连接的进程数量小于预设阈值时,则重启守护进程。
在本发明实施例中,在利用预设监控进程监控守护进程的过程中,如何判断守护进程即将要被杀死,本发明实施例给出一种例举:由于在Android系统在杀死后台进程时会先断掉该进程与其他进程之间的通信连接,而后才会将该进程杀死,因而在本发明实施例中当利用预设监控进程监控到与守护进程存在通信连接的进程数量小于预设阈值时,也就表明该守护进程很可能将被杀死,此时就应该及时地触发重启守护进程,进而保证守护进程继续正常运行。
203、守护进程获取数据爬取任务。
在本发明实施例中,对于守护进程获取数据爬取任务的陈述,请参见步骤101,此处不再赘述。
需要说明的是,在守护进程获取数据爬取任务之后,守护进程将数据爬取任务发送至第三方应用,以便第三方应用根据数据爬取任务打开待爬取的应用程序。
当守护进程接收到数据爬取任务时,在Android系统下就需要根据数据爬取任务将待爬取的目标应用程序打开,在一个应用程序被打开的前提下,应用程序上的数据爬取模块才能被添加广播侦听来接收到数据爬取任务,并且数据爬取模块才能在其对应的应用程序运行环境下执行相应的爬取操作。
在本发明实施例中,具体的打开目标应用程序的方法可以是:当守护进程接收到数据爬取任务时,可以将数据爬取任务发送至第三方应用,比如谷歌的UI.autometar,当该第三方应用接收到数据爬取任务时可以对其进行解析,并从中获知本次数据爬取任务对应的待爬取的目标应用程序,而后该第三方应用打开目标应用程序,以使该目标应用程序启动。
204、守护进程将数据爬取任务下发至数据爬取模块,以使数据爬取模块从应用程序中爬取数据信息。
在本发明实施例中,数据爬取模块从应用程序中爬取数据信息的具体步骤,可以如下:
首先,数据爬取模块对数据爬取任务进行解析得到对应的任务信息。
其中,任务信息中至少包含任务标识以及对应的预设配置文件。
其中,预设配置文件用于对数据爬取模块进行初始化处理以及控制数据爬取模块执行爬取应用程序上指定数据信息的操作。
在本发明实施例中,是在数据爬取任务中预先写好一个配置文件,以便根据该配置文件,数据爬取模块可以执行相应的初始化以适应于在其对应的应用程序的运行环境下执行爬取操作,同时也由该配置文件控制执行爬取应用程序上指定数据信息的操作。
其次,根据预设配置文件内存储的应用程序的包名,确定待爬取的应用程序。根据预设配置文件内存储的任务类型,确定待爬取的数据内容。
在本发明实施例中,配置文件中还包含待爬取的应用程序的包名以及在该应用程序包名下预先写好的对应的1个或多个任务类型,该任务类型是用于指示爬取内容。比如:配置文件中包含小红书程序的包名,以及在该包名下对应的任务类型是:图片爬取任务、文字爬取任务。根据该配置文件,数据爬取模块将爬取小红书的指定图片数据以及文件数据。
最后,数据爬取模块将预置钩子添加至待爬取的应用程序的指定位置,并通过预置钩子,在待爬取的应用程序的指定位置爬取与待爬取的数据内容相对应的目标数据信息。
本步骤相当于是根据任务类型来启动相应的钩子函数,以完成在钩子函数中爬取指定的数据信息。
例如:在爬取小红书的数据信息过程中,根据任务类型确定是爬取指定图片以及图片对应的文字描述,则需要两个钩子,一个是用于钩图片的设置,另一个是用于钩对应的文字描述。通过在相应的代码实现方法上分别添加上述两个钩子,进而通过回调钩子就可以获取到相应的参数数据信息,以实现在小红书上执行爬取指定图片以及对应文字描述的操作。
205、将数据爬取模块与守护进程建立绑定关系。
在本发明实施例中,若仅存在一个应用程序上的一个数据爬取模块时,守护进程只能将数据爬取任务下发至一个数据爬取模块,但是若存在多个应用程序上分别对应的数据爬取模块时,此时多个数据爬取模块都可以接收守护进程下发的数据爬取任务,但是根据爬取任务,仅只有一个数据爬取模块可以执行对应的爬取操作,因而此时应该将执行爬取操作的数据爬取模块与守护进程绑定,所以对于本步骤,在将数据爬取模块与守护进程建立绑定关系时,存在如下两种情况:
一种情况是:若守护进程将数据爬取任务下发至一个数据爬取模块,则可以直接将数据爬取模块与守护进程建立绑定关系。
另一种情况是:若守护进程将所述数据爬取任务下发至多个数据爬取模块,则在确定执行数据爬取任务的数据爬取模块后,将确定执行数据爬取任务的数据爬取模块与守护进程建立绑定关系。
在本发明实施例中,当多个数据爬取模块分别都接收到数据爬取任务时,则每个数据爬取模块将判断是否能够执行相应的爬取操作,具体的判断方法,例如可以是:由于每个数据爬取模块只能在其对应的应用程序的运行环境下爬取该应用程序上的数据信息,因而对于一个数据爬取模块,当其分析接收到的数据爬取任务而确定的待爬取的目标应用程序与它所在应用程序不一致时,则该数据爬取模块就不可能执行数据爬取任务,也就是,只有在目标应用程序上的数据爬取模块在目标应用程序的运行环境下才能执行爬取目标应用程序的数据信息的爬取操作。
在本发明实施例中,相当于是通过多个数据爬取模块分别判断是否执行爬取操作的方法,来间接地选定用于执行本次数据爬取任务对应的数据爬取模块,据此,进而当切换数据爬取任务时,仍然可以通过上述方法来选定相应爬取操作的数据爬取模块,因而本发明实施例可以利用编写的数据爬取模块来完成不同的数据爬取任务,增强了Xposed模块的通用性。
在本发明实施例中,每个应用程序上分别存在一个数据爬取模块,由于一个数据爬取模块只能在其所在的应用程序上执行爬取该应用程序上数据信息的操作,也就是在应用程序A上的数据爬取模块是不可以执行爬取应用程序B上数据信息的爬取操作的,因而当多个数据爬取模块分别接收到数据爬取任务时,此时需要多个数据爬取模块分别判断是否可以执行爬取操作,具体的步骤,可以如下:
首先,数据爬取模块根据数据爬取任务,获取待爬取的应用程序的包名,数据爬取模块获取其对应的指定的应用程序的包名;其次,数据爬取模块判断待爬取的应用程序的包名与指定的应用程序的包名是否相同,若相同,则确定数据爬取模块执行爬取操作。
其中,数据爬取模块获取其所在应用程序的包名的具体方法可以是:例如,一个应用程序启动时,将会调用系统启动函数,因而数据爬取模块就可以在系统启动函数添加一些钩子,通过钩子来获取应用程序启动时传入的相关参数数据信息,进而数据爬取模块可以从这些参数数据信息中获取应用程序的包名,也就是利用数据爬取模块在钩子函数中爬取到应用程序的包名。
206、守护进程接收与其存在绑定关系的数据爬取模块发送的爬取到的数据信息,以便守护进程将爬取到的数据信息上报至服务端。
在本发明实施例中,在数据爬取模块与守护进程存在绑定关系的前提下,守护进程也可以直接获知哪些数据信息是由存在绑定关系的数据爬取模块发送的,进而避免接收与本次爬取任务无关数据信息,如此守护进程相当于是也可以对接收到数据信息进行有效过滤,同时也节省数据存储空间。在本发明实施例中,数据爬取模块向守护进程发送爬取到数据信息的方法是,可以直接调用守护进程的跨进程函数,通过进程间通信,将爬取到的数据信息发送至守护进程。
在本发明实施例中,当数据爬取模块爬取到数据信息之后,则通过与守护进程之间的进程通信,将爬取到的数据信息发送至守护进程上,由于守护进程与应用程序下的进程是不同的进程,因而通过守护进程向服务端上报爬取到的数据信息时可以避免出现数据爬取模块直接向服务端上报数据信息时被应用程序拦截的问题,进而确保服务端接收到爬取到的数据信息是准确的、完整的。
进一步的,在本发明实施例中,还可以利用守护进程及时地监控数据爬取模块的运行状态,比如:在守护进程向数据爬取模块下发爬取任务时可以同时设置一个任务完成时限,进而若守护进程未在该时限内接收到一个数据爬取模块反馈的爬取结果数据,则守护进程可以确定本次数据爬取任务超时并判定本次数据爬取任务出现爬取异常。又或者,守护进程也可以实时地接收执行爬取操作的数据爬取模块反馈的报错信息,以此来判定本次数据爬取任务出现异常。
进一步的,对于上述判定的爬取异常,守护进程可以将爬取日志记录下来以供开发人员进行数据分析并有助于开发人员进行相应改进。在本发明实施例中,由于不是在将数据信息上报至服务端之后等待服务器反馈本次数据爬取任务是否异常,而是在守护进程监控数据爬取模块运行时对本次爬取任务作出初次判定,因而在发现存在爬取异常时,可以及时地、迅速地控制守护进程重新下发爬取任务以便数据爬取模块可以重新执行该数据爬取操作,以确保及时地获取爬取结果数据。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据爬取方法。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的数据爬取方法。
进一步的,作为对上述图1、图2所示方法的实现,本发明实施例提供了一种数据爬取装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于在应用程序上执行爬取指定数据信息的操作,具体如图3所示,该装置包括:
获取单元31,用于守护进程获取数据爬取任务;
下发单元32,用于所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;
爬取单元33,用于所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息;
接收单元34,用于所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
进一步的,如图4所示,所述装置还包括:
发送单元35,用于在所述守护进程获取数据爬取任务之后,所述守护进程将所述数据爬取任务发送至第三方应用,以便所述第三方应用根据所述数据爬取任务打开待爬取的应用程序;
绑定单元36,用于将所述数据爬取模块与所述守护进程建立绑定关系;
所述绑定单元36包括:第一绑定模块361、确定模块362以及第二绑定模块363;
所述第一绑定模块361,用于若所述守护进程将所述数据爬取任务下发至一个数据爬取模块,则将所述数据爬取模块与所述守护进程建立绑定关系;
所述确定模块362,用于若所述守护进程将所述数据爬取任务下发至多个数据爬取模块,则确定执行所述数据爬取任务的数据爬取模块;
所述第二绑定模块363,用于将确定执行数据爬取任务的数据爬取模块与所述守护进程建立绑定关系;
所述接收单元34包括:接收模块341;
所述接收模块341,用于所述守护进程接收与其存在绑定关系的所述数据爬取模块发送的爬取到的数据信息,以便所述守护进程将所述爬取到的数据信息上报至服务端。
进一步的,如图4所示,所述爬取单元33包括:
解析模块331,用于所述数据爬取模块对所述数据爬取任务进行解析得到对应的任务信息,所述任务信息中至少包含任务标识以及对应的预设配置文件,所述预设配置文件用于对所述数据爬取模块进行初始化处理以及控制所述数据爬取模块执行爬取应用程序上指定数据信息的操作;
第一确定模块332,用于根据所述预设配置文件内存储的应用程序的包名,确定待爬取的应用程序;
第二确定模块333,用于根据所述预设配置文件内存储的任务类型,确定待爬取的数据内容;
添加模块334,用于所述数据爬取模块将预置钩子添加至待爬取的应用程序的指定位置;
爬取模块335,用于通过所述预置钩子,在所述待爬取的应用程序的指定位置爬取与所述待爬取的数据内容相对应的目标数据信息。
进一步的,如图4所示,所述绑定单元36还包括:判断模块364,
所述判断模块364,用于在所述守护进程将所述数据爬取任务下发至多个数据爬取模块之后,所述数据爬取模块判断是否执行所述数据爬取任务对应的爬取操作;
所述判断模块364包括:获取子模块3641、判断子模块3642以及确定子模块3643;
所述获取子模块3641,用于所述数据爬取模块根据所述数据爬取任务,获取所述待爬取的应用程序的包名;
所述获取子模块3641,还用于所述数据爬取模块获取其对应的指定的应用程序的包名;
所述判断子模块3642,用于所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名是否相同;
所述确定子模块3643,用于当所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名相同时,则确定所述数据爬取模块执行爬取操作。
进一步的,如图4所示,所述装置还包括:
执行单元37,用于将所述守护进程与预设监控进程进行绑定,并设定所述守护进程和所述预设监控进程的优先级,所述预设监控进程用于监控所述守护进程的生命周期,所述守护进程的优先级高于前端服务进程的优先级、且低于所述预设监控进程的优先级;
重启单元38,用于当所述预设监控进程监控到与所述守护进程存在通信连接的进程数量小于预设阈值时,则重启所述守护进程。
进一步的,如图4所示,所述装置还包括:
确定单元39,用于若在预设时间内,所述守护进程未接收到所述数据爬取模块上报的所述爬取到的数据信息,则确定本次数据爬取任务爬取异常;和/或,
所述确定单元39,还用于当所述守护进程接收到所述数据爬取模块上报的报错信息时,确定本次数据爬取任务爬取异常;和/或,
所述下发单元32,还用于在确定数据爬取任务爬取异常时,所述守护进程重新向所述数据爬取模块下发所述数据爬取任务。
综上所述,本发明实施例提供一种数据爬取方法及装置,本发明实施例是在Xposed框架下编写一个通用的Xposed模块作为数据爬取模块,当利用守护进程获取数据爬取任务并将数据爬取任务下发给数据爬取模块时,数据爬取模块可以根据数据爬取任务在指定的应用程序上爬取数据信息,并将爬取到的数据信息反馈回守护进程,在本发明实施例中数据爬取任务等逻辑并不是写在数据爬取模块内,而是由守护进程来下发给数据爬取模块的,进而当数据爬取模块接收到不同的数据爬取任务,就可以在不同的指定应用程序上爬取对应的数据信息,本发明实施例是利用在Xposed框架下编写通用的Xposed模块来优化爬取应用程序的数据信息的方法,增强Xposed模块的通用性,节约开发成本,并且由于通用的Xposed模块内并没有编写爬取任务等过多逻辑所以可以更加轻量化,这也将有助于提高Xposed模块处理性能。此外,在本发明实施中是将守护进程作为桥接,用于获取数据爬取任务、将数据爬取任务下发至数据爬取模块,以及在当数据爬取模块爬取到数据信息时,该守护进程作为桥接将爬取到的数据信息上报至服务端,以避免数据爬取模块直接将爬取到数据信息发送至服务端而被应用程序拦截,进而当将爬取到数据信息上传至服务端时能够确保数据信息的完整性、准确性。
所述数据爬取装置包括处理器和存储器,上述获取单元、下发单元、爬取单元和接收单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过在Xposed框架下编写一个通用的Xposed模块来优化爬取应用程序的数据信息的方法,提高Xposed模块的通用性,节约开发成本,同时使Xposed模块内并没有编写爬取任务等过多逻辑所以更加轻量化,提高Xposed模块性能。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据爬取方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据爬取方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
一种数据爬取方法,所述方法包括:守护进程获取数据爬取任务;所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
进一步的,所述方法还包括:在所述守护进程获取数据爬取任务之后,所述守护进程将所述数据爬取任务发送至第三方应用,以便所述第三方应用根据所述数据爬取任务打开待爬取的应用程序;和/或,将所述数据爬取模块与所述守护进程建立绑定关系;和/或,将所述数据爬取模块与所述守护进程建立绑定关系,包括:若所述守护进程将所述数据爬取任务下发至一个数据爬取模块,则将所述数据爬取模块与所述守护进程建立绑定关系;和/或,若所述守护进程将所述数据爬取任务下发至多个数据爬取模块,则在确定执行所述数据爬取任务的数据爬取模块后,将确定执行数据爬取任务的数据爬取模块与所述守护进程建立绑定关系;和/或,所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息,包括:所述守护进程接收与其存在绑定关系的所述数据爬取模块发送的爬取到的数据信息,以便所述守护进程将所述爬取到的数据信息上报至服务端。
进一步的,所述数据爬取模块根据所述数据爬取任务爬取应用程序的数据信息,包括:所述数据爬取模块对所述数据爬取任务进行解析得到对应的任务信息,所述任务信息中至少包含任务标识以及对应的预设配置文件,所述预设配置文件用于对所述数据爬取模块进行初始化处理以及控制所述数据爬取模块执行爬取应用程序上指定数据信息的操作;根据所述预设配置文件内存储的应用程序的包名,确定待爬取的应用程序;根据所述预设配置文件内存储的任务类型,确定待爬取的数据内容;所述数据爬取模块将预置钩子添加至待爬取的应用程序的指定位置,并通过所述预置钩子,在所述待爬取的应用程序的指定位置爬取与所述待爬取的数据内容相对应的目标数据信息。
进一步的,在所述守护进程将所述数据爬取任务下发至多个数据爬取模块之后,所述数据爬取模块判断是否执行所述数据爬取任务对应的爬取操作,包括:所述数据爬取模块根据所述数据爬取任务,获取所述待爬取的应用程序的包名;所述数据爬取模块获取其对应的指定的应用程序的包名;所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名是否相同;若相同,则确定所述数据爬取模块执行爬取操作。
进一步的,在所述守护进程获取数据爬取任务之前,所述方法还包括:将所述守护进程与预设监控进程进行绑定,并设定所述守护进程和所述预设监控进程的优先级,所述预设监控进程用于监控所述守护进程的生命周期,所述守护进程的优先级高于前端服务进程的优先级、且低于所述预设监控进程的优先级;当所述预设监控进程监控到与所述守护进程存在通信连接的进程数量小于预设阈值时,则重启所述守护进程。
进一步的,所述方法还包括:若在预设时间内,所述守护进程未接收到所述数据爬取模块上报的所述爬取到的数据信息,则确定本次数据爬取任务爬取异常;和/或,当所述守护进程接收到所述数据爬取模块上报的报错信息时,确定本次数据爬取任务爬取异常;和/或,在确定数据爬取任务爬取异常时,所述守护进程重新向所述数据爬取模块下发所述数据爬取任务。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:守护进程获取数据爬取任务;所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据爬取方法,其特征在于,所述方法包括:
守护进程获取数据爬取任务;
所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;
所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述守护进程获取数据爬取任务之后,所述守护进程将所述数据爬取任务发送至第三方应用,以便所述第三方应用根据所述数据爬取任务打开待爬取的应用程序;和/或,
将所述数据爬取模块与所述守护进程建立绑定关系;和/或,
将所述数据爬取模块与所述守护进程建立绑定关系,包括:
若所述守护进程将所述数据爬取任务下发至一个数据爬取模块,则将所述数据爬取模块与所述守护进程建立绑定关系;和/或,
若所述守护进程将所述数据爬取任务下发至多个数据爬取模块,则在确定执行所述数据爬取任务的数据爬取模块后,将确定执行数据爬取任务的数据爬取模块与所述守护进程建立绑定关系;和/或,
所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息,包括:
所述守护进程接收与其存在绑定关系的所述数据爬取模块发送的爬取到的数据信息,以便所述守护进程将所述爬取到的数据信息上报至服务端。
3.根据权利要求1所述的方法,其特征在于,所述数据爬取模块根据所述数据爬取任务爬取应用程序的数据信息,包括:
所述数据爬取模块对所述数据爬取任务进行解析得到对应的任务信息,所述任务信息中至少包含任务标识以及对应的预设配置文件,所述预设配置文件用于对所述数据爬取模块进行初始化处理以及控制所述数据爬取模块执行爬取应用程序上指定数据信息的操作;
根据所述预设配置文件内存储的应用程序的包名,确定待爬取的应用程序;
根据所述预设配置文件内存储的任务类型,确定待爬取的数据内容;
所述数据爬取模块将预置钩子添加至待爬取的应用程序的指定位置,并通过所述预置钩子,在所述待爬取的应用程序的指定位置爬取与所述待爬取的数据内容相对应的目标数据信息。
4.根据权利要求2所述的方法,其特征在于,
在所述守护进程将所述数据爬取任务下发至多个数据爬取模块之后,所述数据爬取模块判断是否执行所述数据爬取任务对应的爬取操作,包括:
所述数据爬取模块根据所述数据爬取任务,获取所述待爬取的应用程序的包名;
所述数据爬取模块获取其对应的指定的应用程序的包名;
所述数据爬取模块判断所述待爬取的应用程序的包名与所述指定的应用程序的包名是否相同;
若相同,则确定所述数据爬取模块执行爬取操作。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述守护进程获取数据爬取任务之前,所述方法还包括:
将所述守护进程与预设监控进程进行绑定,并设定所述守护进程和所述预设监控进程的优先级,所述预设监控进程用于监控所述守护进程的生命周期,所述守护进程的优先级高于前端服务进程的优先级、且低于所述预设监控进程的优先级;
当所述预设监控进程监控到与所述守护进程存在通信连接的进程数量小于预设阈值时,则重启所述守护进程。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若在预设时间内,所述守护进程未接收到所述数据爬取模块上报的所述爬取到的数据信息,则确定本次数据爬取任务爬取异常;和/或,
当所述守护进程接收到所述数据爬取模块上报的报错信息时,确定本次数据爬取任务爬取异常;和/或,
在确定数据爬取任务爬取异常时,所述守护进程重新向所述数据爬取模块下发所述数据爬取任务。
7.一种数据爬取装置,其特征在于,所述装置包括:
获取单元,用于守护进程获取数据爬取任务;
下发单元,用于所述守护进程将所述数据爬取任务下发至数据爬取模块,以使所述数据爬取模块从应用程序中爬取数据信息;
爬取单元,用于所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息;
接收单元,用于所述守护进程接收所述数据爬取模块根据所述数据爬取任务从所述应用程序中爬取的数据信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
发送单元,用于在所述守护进程获取数据爬取任务之后,所述守护进程将所述数据爬取任务发送至第三方应用,以便所述第三方应用根据所述数据爬取任务打开待爬取的应用程序;
绑定单元,用于将所述数据爬取模块与所述守护进程建立绑定关系;
所述绑定单元包括:第一绑定模块、确定模块以及第二绑定模块;
所述第一绑定模块,用于若所述守护进程将所述数据爬取任务下发至一个数据爬取模块,则将所述数据爬取模块与所述守护进程建立绑定关系;
所述确定模块,用于若所述守护进程将所述数据爬取任务下发至多个数据爬取模块,则确定执行所述数据爬取任务的数据爬取模块;
所述第二绑定模块,用于将确定执行数据爬取任务的数据爬取模块与所述守护进程建立绑定关系;
所述接收单元包括:接收模块;
所述接收模块,用于所述守护进程接收与其存在绑定关系的所述数据爬取模块发送的爬取到的数据信息,以便所述守护进程将所述爬取到的数据信息上报至服务端。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-6中任一项所述的数据爬取方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行如权利要求1-6中任一项所述的数据爬取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811157671.3A CN110968297B (zh) | 2018-09-30 | 2018-09-30 | 一种数据爬取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811157671.3A CN110968297B (zh) | 2018-09-30 | 2018-09-30 | 一种数据爬取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110968297A true CN110968297A (zh) | 2020-04-07 |
CN110968297B CN110968297B (zh) | 2023-12-26 |
Family
ID=70029205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811157671.3A Active CN110968297B (zh) | 2018-09-30 | 2018-09-30 | 一种数据爬取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968297B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780822A (zh) * | 2022-06-20 | 2022-07-22 | 云账户技术(天津)有限公司 | 爬取应用程序数据的方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143932A1 (en) * | 2001-04-02 | 2002-10-03 | The Aerospace Corporation | Surveillance monitoring and automated reporting method for detecting data changes |
CN106201754A (zh) * | 2016-07-06 | 2016-12-07 | 乐视控股(北京)有限公司 | 任务信息分析方法及装置 |
CN107633084A (zh) * | 2017-09-28 | 2018-01-26 | 武汉虹旭信息技术有限责任公司 | 基于自媒体的舆情管控系统及其方法 |
CN107844325A (zh) * | 2017-10-27 | 2018-03-27 | 上海斐讯数据通信技术有限公司 | 一种分布式数据的获取方法及系统 |
-
2018
- 2018-09-30 CN CN201811157671.3A patent/CN110968297B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143932A1 (en) * | 2001-04-02 | 2002-10-03 | The Aerospace Corporation | Surveillance monitoring and automated reporting method for detecting data changes |
CN106201754A (zh) * | 2016-07-06 | 2016-12-07 | 乐视控股(北京)有限公司 | 任务信息分析方法及装置 |
CN107633084A (zh) * | 2017-09-28 | 2018-01-26 | 武汉虹旭信息技术有限责任公司 | 基于自媒体的舆情管控系统及其方法 |
CN107844325A (zh) * | 2017-10-27 | 2018-03-27 | 上海斐讯数据通信技术有限公司 | 一种分布式数据的获取方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780822A (zh) * | 2022-06-20 | 2022-07-22 | 云账户技术(天津)有限公司 | 爬取应用程序数据的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110968297B (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844136B (zh) | 一种程序崩溃信息的收集方法及系统 | |
US10956191B2 (en) | Systems and methods for customizing and programming a cloud-based management server | |
US10545775B2 (en) | Hook framework | |
CN105468529A (zh) | 一种安卓应用ui控件精准遍历方法和装置 | |
WO2019051948A1 (zh) | 监控数据的处理方法、设备、服务器及存储介质 | |
CN108121633B (zh) | 异常捕获方法及装置 | |
CN111159520B (zh) | 样本鉴定方法、装置及安全应急响应系统 | |
US20180025158A1 (en) | System and method for detecting malware in a stream of bytes | |
US20230168986A1 (en) | Systems, methods, and computer-readable media for analyzing intercepted telemetry events to generate vulnerability reports | |
CN106445696B (zh) | 一种多进程交互处理方法及系统 | |
CN113448690B (zh) | 监测方法及装置 | |
CN110968297B (zh) | 一种数据爬取方法及装置 | |
CN114356434A (zh) | 页面加载方法、设备、装置、存储介质及程序产品 | |
US20230315620A1 (en) | System and Method for Diagnosing a Computing Device in Safe Mode | |
CN110837446A (zh) | 应用于嵌入式系统的设备管理方法及装置、介质以及嵌入式设备 | |
US20200272553A1 (en) | Configurable system for interaction with system or processor states in development tools | |
CN111240998A (zh) | 测试用例处理方法和装置 | |
CN114791884A (zh) | 测试环境的构建方法、装置、存储介质及电子设备 | |
CN110908876B (zh) | 一种硬件性能数据的获取方法及装置 | |
CN112181478A (zh) | 一种构建结果获取方法、装置及存储介质 | |
CN107948227B (zh) | 分布式系统平台的性能优化方法及装置 | |
CN113704179A (zh) | 文件监控方法、装置、计算机系统及存储介质 | |
CN110333985B (zh) | 记录移动终端操作信息的方法和装置 | |
CN110837399A (zh) | 一种管理流式计算应用程序的方法、装置及计算设备 | |
CN110968401A (zh) | 基于Quartz的任务调度方法及装置 |
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 |