【技术实现步骤摘要】
数据的爬取方法及装置
本专利技术涉及爬虫
,特别是涉及一种数据的爬取方法及装置。
技术介绍
混合模式应用程序(HybridApp)介于本地化应用程序(NativeApp)和Web应用程序(WebApp)之间,其兼具本地化应用程序和Web应用程序的优势:拥有良好用户交互体验以及可以跨平台开发。由于,混合模式应用程序中的重要数据内容大多显示在内嵌于应用程序的WebView界面中,因此,当需要爬取混合模式应用程序中的数据内容时,首先需要爬取内嵌于应用程序的WebView界面中的数据内容。目前,在爬取内嵌于爬取混合模式应用程序的WebView界面中的数据内容时,通常是数据爬取客户端先通过创建的Xposed模块获取WebView界面对应的WebView对象,然后,控制Xposed模块调用WebView对象执行JS脚本函数,使得WebView对象执行预设JS脚本,WebView对象在执行预设JS脚本的过程中,预设JS脚本便会爬取WebView界面中的数据内容,并将爬取到的数据内容发送至服务器。专利技术人在实现本专利 ...
【技术保护点】
1.一种数据的爬取方法,其特征在于,包括:/n当数据爬取模块获取到目标WebView对象时,创建所述目标WebView对象对应的动态代理,其中,所述数据爬取模块为在Xposed框架下创建的Xposed模块;/n将所述动态代理作为参数添加至预设脚本函数中,其中,所述预设脚本函数为所述数据爬取模块对应的执行脚本中的函数,所述执行脚本用于爬取所述目标WebView对象对应的数据内容;/n所述数据爬取模块通过调用所述预设脚本函数,指示所述执行脚本爬取所述目标WebView对象对应的数据内容;/n通过所述动态代理获取所述执行脚本爬取的数据内容。/n
【技术特征摘要】
1.一种数据的爬取方法,其特征在于,包括:
当数据爬取模块获取到目标WebView对象时,创建所述目标WebView对象对应的动态代理,其中,所述数据爬取模块为在Xposed框架下创建的Xposed模块;
将所述动态代理作为参数添加至预设脚本函数中,其中,所述预设脚本函数为所述数据爬取模块对应的执行脚本中的函数,所述执行脚本用于爬取所述目标WebView对象对应的数据内容;
所述数据爬取模块通过调用所述预设脚本函数,指示所述执行脚本爬取所述目标WebView对象对应的数据内容;
通过所述动态代理获取所述执行脚本爬取的数据内容。
2.根据权利要求1所述的方法,其特征在于,所述创建所述目标WebView对象对应的动态代理,包括:
根据Java反射机制查找所述目标WebView对象对应的回调接口类,所述回调接口类为目标应用程序运行环境下的回调接口类;
创建所述目标WebView对象对应的回调函数;
通过所述回调接口类对所述回调函数进行封装处理,得到所述动态代理。
3.根据权利要求1所述的方法,其特征在于,在所述创建所述目标WebView对象对应的动态代理之前,所述方法还包括:
接收数据爬取任务,其中,所述数据爬取任务包含目标应用程序、目标WebView界面以及操作信息,所述目标WebView界面为所述目标应用程序中的界面,所述目标WebView对象为所述目标WebView界面对应的对象;
打开所述目标应用程序,并根据所述操作信息定位至所述目标WebView界面,以便所述数据爬取模块获取所述目标WebView界面中的目标WebView对象。
4.根据权利要求3所述的方法,其特征在于,在所述通过所述动态代理获取所述执行脚本爬取的数据内容之后,所述方法还包括:
根据所述数据内容判断所述数据爬取任务是否执行成功;
若是,则将所述数据内容发送至服务器;
若否,则再次执行所述数据爬取任务。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述通过所述动态代理获取所述执行脚本爬取的数据内容,包括:
通过所述动态代理读取所述执行脚本返回的数据内容,所述数据内容为所述目标WebVie...
【专利技术属性】
技术研发人员:陆生辉,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。