CN105701153A - 一种读取网页资源的方法、装置及电子设备 - Google Patents
一种读取网页资源的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN105701153A CN105701153A CN201511020458.4A CN201511020458A CN105701153A CN 105701153 A CN105701153 A CN 105701153A CN 201511020458 A CN201511020458 A CN 201511020458A CN 105701153 A CN105701153 A CN 105701153A
- Authority
- CN
- China
- Prior art keywords
- web page
- page resources
- information
- code
- file
- 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
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/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开一种读取网页资源的方法、装置及电子设备。方法应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:如果获取的网页抓取请求对应的待抓取网页资源的加载状态为加载完毕,获取待抓取网页资源的URL信息;依据构建当前网页的应用程序的包名,获取包名映射的资源缓存文件路径;提取资源缓存文件路径下的二进制数据文件,遍历二进制数据文件得到与URL信息相匹配的信息字段;查询相匹配的信息字段前的信息,获取预设的标志信息,依据标志信息前的信息以及文件名计算策略,得到URL信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。应用本发明,可以提升网络资源利用效率。
Description
技术领域
本发明涉及计算机网络资源技术,尤其涉及一种读取网页资源的方法、装置及电子设备。
背景技术
随着计算机通信以及互联网技术,电子设备的应用越来越普遍,例如,智能移动电话、个人数字助理、掌上电脑以及台式机电脑得到了越来越广泛的应用,安装在电子设备中的各类应用程序(APP,Application)以及浏览器控件也越来越多,用以满足用户对业务多样性的需求。其中,浏览器控件是电子设备中安装的浏览器不可或缺的网络工具,例如,基于Windows操作***浏览器的页面浏览器控件(Webbrowser),基于安卓(Android)操作***浏览器以及苹果的移动操作***(iOS)浏览器的网络视图控件(Webview)等,不同操作***的浏览器控件实现的功能相类似,只是引擎以及具体实现上不同。其中,Webview作为Android操作***中自带的加载、渲染、展示网页的基础组件,应用较为广泛。
Webview加载展示网页的简要流程如下:接收用户的网页加载请求,首先,通过网络从云端服务器获取网页加载请求对应的网络资源,缓存至本地存储器中,其中,网络资源采用代码编辑的方式,然后,解析缓存的网络资源,获取待加载网页元素,将获取的待加载网页元素渲染至待展示网页中并展示渲染的网页,直至所有的待加载网页元素在待展示网页中渲染完毕,得到用于用户浏览的网页。
随着用户对应用功能的多样化需求,用户在浏览网页的过程中,如果发现较好的网页资源,例如,图片资源、音频资源、视频资源以及动画资源等,期望抓取(读取)该类网页资源以便于进行后续处理,例如,进行编辑或存储该网页资源,可以通过点击该网页资源获取该网页资源的统一资源定位符信息,从而触发按照统一资源定位符信息从云端服务器下载。但该从当前已加载的网页中获取网页资源的方法,需要再次通过网络将需要抓取的网页资源下载并保存到本地存储器,从而导致资源的重复下载,不仅耗费了用户的网络流量,增加了用户抓取网页资源所需的时间,也降低了网络的资源利用效率。
发明内容
有鉴于此,本发明实施例提供一种读取网页资源的方法、装置及电子设备,降低用户抓取网页资源所需的时间,提升网络资源的利用效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种读取网页资源的方法,应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:
接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态;
如果所述待抓取网页资源的加载状态为加载完毕,获取所述待抓取网页资源的统一资源定位符信息;
依据构建当前网页的应用程序的包名,获取所述包名映射的资源缓存文件路径;
提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段;
查询所述相匹配的信息字段前的信息,获取预先设置的标志信息,依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。
可选的,所述接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态包括:
在网络视图控件中注入预先设置的抓取监听事件;
在所述网络视图控件加载网页时,触发启动所述抓取监听事件以监听网页资源抓取请求;
在监听到网页资源抓取请求后,获取所述网页抓取请求对应的待抓取网页资源的加载状态。
可选的,所述提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段包括:
提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
遍历所述代码组,获取预先设置的标志代码组,提取每一所述标志代码组后的连续非零代码,得到相应的网页资源代码;
将得到的网页资源代码转换成美国标准信息交换代码,如果转换得到的美国标准信息交换代码与所述待抓取网页资源的统一资源定位符信息相匹配,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
可选的,所述二进制数据文件为:/data/data/a.b.c/Cache/webviewCacheChromium/data_1。
可选的,所述标志代码组为0080。
可选的,所述提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段包括:
提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
将所述待抓取网页资源的统一资源定位符信息转换为十六进制网页资源代码;
遍历进行十六进制转换的二进制数据文件,获取与所述十六进制网页资源代码相匹配的代码段,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
可选的,所述依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件包括:
提取所述标志代码组所在的行,以两位为单位,对所述标志代码组所在的行进行位置标识;
依序提取所述标志代码组所在的行的第15位、第14位以及第13位十六进制代码,得到网页资源文件第一部分;
在得到的网页资源文件第一部分前再拼接上字符f_,得到所述网页资源文件。
可选的,所述资源缓存文件路径为:/data/data/a.b.c/Cache/webviewCacheChromium,其中,a.b.c为所述包名。
可选的,所述网页资源包括:图片资源、音频资源、视频资源以及动画资源中的一种或其任意组合。
第二方面,本发明实施例提供一种读取网页资源的装置,应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:网页资源状态获取模块、统一资源定位符信息获取模块、文件路径获取模块、信息字段匹配模块以及网页资源读取模块,其中,
网页资源状态获取模块,用于接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态;
统一资源定位符信息获取模块,如果所述待抓取网页资源的加载状态为加载完毕,获取所述待抓取网页资源的统一资源定位符信息;
文件路径获取模块,用于依据构建当前网页的应用程序的包名,获取所述包名映射的资源缓存文件路径;
信息字段匹配模块,用于提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段;
网页资源读取模块,用于查询所述相匹配的信息字段前的信息,获取预先设置的标志信息,依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。
可选的,所述网页资源状态获取模块包括:注入单元、监听单元以及网页资源状态获取单元,其中,
注入单元,用于在网络视图控件中注入预先设置的抓取监听事件;
监听单元,用于在所述网络视图控件加载网页时,触发启动所述抓取监听事件以监听网页资源抓取请求;
网页资源状态获取单元,用于在监听到网页资源抓取请求后,获取所述网页抓取请求对应的待抓取网页资源的加载状态。
可选的,所述信息字段匹配模块包括:转换单元、网页资源代码提取单元以及信息字段匹配单元,其中,
转换单元,用于提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
网页资源代码提取单元,用于遍历所述代码组,获取预先设置的标志代码组,提取每一所述标志代码组后的连续非零代码,得到相应的网页资源代码;
信息字段匹配单元,用于将得到的网页资源代码转换成美国标准信息交换代码,如果转换得到的美国标准信息交换代码与所述待抓取网页资源的统一资源定位符信息相匹配,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
可选的,所述二进制数据文件为:/data/data/a.b.c/Cache/webviewCacheChromium/data_1。
可选的,所述标志代码组为0080。
可选的,所述信息字段匹配模块包括:第一转换单元、第二转换单元以及遍历匹配单元,其中,
第一转换单元,用于提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
第二转换单元,用于将所述待抓取网页资源的统一资源定位符信息转换为十六进制网页资源代码;
遍历匹配单元,用于遍历进行十六进制转换的二进制数据文件,获取与所述十六进制网页资源代码相匹配的代码段,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
可选的,所述网页资源读取模块包括:查询单元、提取单元、网页资源文件第一生成单元、网页资源文件第二生成单元以及读取单元,其中,
查询单元,用于查询所述相匹配的信息字段前的信息,获取预先设置的标志信息;
提取单元,用于提取所述标志代码组所在的行,以两位为单位,对所述标志代码组所在的行进行位置标识;
网页资源文件第一生成单元,用于依序提取所述标志代码组所在的行的第15位、第14位以及第13位十六进制代码,得到网页资源文件第一部分;
网页资源文件第二生成单元,用于在得到的网页资源文件第一部分前再拼接上字符f_,得到所述网页资源文件;
读取单元,用于读取所述资源缓存文件路径下的所述网页资源文件。
可选的,所述资源缓存文件路径为:/data/data/a.b.c/Cache/webviewCacheChromium,其中,a.b.c为所述包名。
可选的,所述网页资源包括:图片资源、音频资源、视频资源以及动画资源中的一种或其任意组合。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一所述的读取网页资源的方法。
本发明实施例提供的读取网页资源的方法、装置及电子设备,通过研究安卓操作***4.0版本到4.3版本之间的网络视图控件,分析出包名与资源缓存文件路径的映射关系,对资源缓存文件路径下的二进制数据文件进行相关处理,从而找到与待抓取网页资源的统一资源定位符信息相匹配的信息段,依据相匹配的信息段前的标志信息所在的行,获取待抓取网页资源的统一资源定位符信息对应的网页资源文件,从而解析出待抓取网页资源的统一资源定位符信息和网页资源文件之间的映射关系,继而能够直接读取本地缓存的网页资源文件,能够有效避免资源的重复下载,节约用户的网络流量,缩短用户抓取网页资源所需的时间,提升网络的资源利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例读取网页资源的方法流程示意图;
图2为本发明实施例接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态的流程示意图;
图3为本发明第一实施例提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段的流程示意图;
图4为本发明第二实施例提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段的流程示意图;
图5为本发明实施例依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件的流程示意图;
图6为本发明实施例读取网页资源的装置结构示意图;
图7为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例读取网页资源的方法流程示意图。参见图1,该方法应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:
步骤11,接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态;
本步骤中,由于网络视图控件在加载展示网页时,解析出一网页资源(待加载网页元素),即在当前网页中渲染该网页资源并展示在网页中,而对于图片资源、音频资源、视频资源以及动画资源等网页资源,在解析网页资源时,如果具有统一资源定位符(URL,UniformResourceLocator)信息,则先加载解析的URL信息,然后再加载并渲染解析的网页资源,最后,在渲染完成后,展示在网页中。因而,本发明实施例中,需要在网页资源加载完成后才能获取该网页资源的详细信息,例如,前述的URL信息,如果网页资源加载未完成,由于不能获取该网页资源的详细信息,因而无法执行后续的流程。
本发明实施例中,网络资源对应一完整网页中包含的所有网页资源,包含有多个文件,关于网络资源的具体文件构成为公知技术,在此略去详述。
作为一可选实施例,网页资源为具有URL信息的资源,包括但不限于:图片资源、音频资源、视频资源以及动画资源等的一种或其任意组合。
作为一可选实施例,图2为本发明实施例接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态的流程示意图。参见图2,该流程包括:
步骤21,在网络视图控件中注入预先设置的抓取监听事件;
本步骤中,较佳地,利用JAVA描述(JS,JavaScript)脚本代码实现抓取监听事件。例如,通过在网络视图控件中预先注入本发明实施例的JS脚本代码,JS脚本代码中,设置网络视图控件在加载网页时启动该JS脚本代码,以使启动的JS脚本代码进行监听用户抓取网页资源的行为,例如,监听用户点击网页资源的行为(网页资源抓取请求)。其中,JS脚本代码是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,广泛应用于客户端页面开发,能够通过添加动态功能以响应用户的各种操作。
步骤22,在所述网络视图控件加载网页时,触发启动所述抓取监听事件以监听网页资源抓取请求;
步骤23,在监听到网页资源抓取请求后,获取所述网页抓取请求对应的待抓取网页资源的加载状态。
本步骤中,如果监听到用户操作,例如,点击或触碰当前网页中具有URL信息的网页资源,则确认监听到网页资源抓取请求,该被点击的网页资源为待抓取网页资源。
本发明实施例中,加载状态包括:加载未完毕以及加载完毕。
步骤12,如果所述待抓取网页资源的加载状态为加载完毕,获取所述待抓取网页资源的统一资源定位符信息;
本步骤中,在点击网页中具有URL信息的网页资源时,可以获取该网页资源的URL信息,例如,对于某一图片资源,URL信息为:http://www.xxx.com/xx.jpg。
步骤13,依据构建当前网页的应用程序的包名,获取所述包名映射的资源缓存文件路径;
本步骤中,网络视图控件在获取网络资源后,将获取的网络资源缓存至本地存储器默认的资源缓存文件路径中,并构建网页对应的应用程序的包名与资源缓存文件路径的映射关系。
本发明实施例中,由于网络资源包含有多份文件,其中,既有各网页资源文件,也有二进制数据文件,而网页资源文件与网页资源不具有显式的映射关系,且目前的网络视图控件没有提供访问存储在本地存储器的网络资源的接口,因而,不能直接通过访问存储的网络资源的方式读取网页资源,从而需要再次通过网页资源的URL信息,利用网络从云端服务器下载URL信息对应的网页资源到本地,浪费了用户的网络流量。
本发明实施例中,对于安卓操作***4.0版本至4.3版本的网络视图控件,包名与资源缓存文件路径的映射关系保存在用于构建当前网页的应用程序(APP,Application)的包名所对应的私有目录中。例如,对于移动电子设备,构建当前网页的应用程序为将网络的网站格式转换为移动页面格式的应用程序,举例来说,如果一应用程序的包名为a.b.c,则其映射的资源缓存文件路径为:/data/data/a.b.c/Cache/webviewCacheChromium。
步骤14,提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段;
步骤中,作为一可选实施例,图3为本发明第一实施例提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段的流程示意图。参见图3,该流程包括:
步骤31,提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
本步骤中,二进制数据文件为:/data/data/a.b.c/Cache/webviewCacheChromium/data_1。
本发明实施例中,将二进制文件中的二进制代码转换为十六进制代码,每行显示了256个bit,也就是32个字节。例如,一转换得到的十六进制代码如下:
…(前面省略了部分内容)
0000000000000000ce1a01a1ec020080
00000000000000000000000000000000
00000000000000000000000000000000
687474703a2f2f622e686970686f746f
732e62616964752e636f6d2f696d6167
652f7069632f6974656d2f6561633462
37343534336139383232363636393134
63663438653832623930313462393065
6239352e6a7067000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
…(后面省略了部分内容)
步骤32,遍历所述代码组,获取预先设置的标志代码组,提取每一所述标志代码组后的连续非零代码,得到相应的网页资源代码;
本步骤中,标志代码组为0080,0080是一个标志字符串,无具体含义,从0080后第一个非零代码开始,直至代码为零时为止,包含的代码段为网页资源代码。
本发明实施例中,在代码组中,可能包括一个或多个标志代码组,依据每一标志代码组,可以得到一网页资源代码。以上述为例,得到的一网页资源代码如下:
687474703a2f2f622e686970686f746f
732e62616964752e636f6d2f696d6167
652f7069632f6974656d2f6561633462
37343534336139383232363636393134
63663438653832623930313462393065
6239352e6a7067
步骤33,将得到的网页资源代码转换成美国标准信息交换代码,如果转换得到的美国标准信息交换代码与所述待抓取网页资源的统一资源定位符信息相匹配,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
本步骤中,以上述网页资源代码为例,如果转换得到的美国标准信息交换代码(ASCII,AmericanStandardCodeforInformationInterchange)为:http://www.xxx.com/xx.jpg。表明该美国标准信息交换代码待抓取网页资源的统一资源定位符信息(http://www.xxx.com/xx.jpg)相匹配。
作为另一可选实施例,图4为本发明第二实施例提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段的流程示意图。参见图4,该流程包括:
步骤41,提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
步骤42,将所述待抓取网页资源的统一资源定位符信息转换为十六进制网页资源代码;
本步骤中,以待抓取网页资源的统一资源定位符信息为http://www.xxx.com/xx.jpg为例,则转换得到的十六进制网页资源代码如下:
687474703a2f2f622e686970686f746f
732e62616964752e636f6d2f696d6167
652f7069632f6974656d2f6561633462
37343534336139383232363636393134
63663438653832623930313462393065
6239352e6a7067
步骤43,遍历进行十六进制转换的二进制数据文件,获取与所述十六进制网页资源代码相匹配的代码段,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
步骤15,查询所述相匹配的信息字段前的信息,获取预先设置的标志信息,依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。
本步骤中,标志信息为标志代码组。作为一可选实施例,图5为本发明实施例依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件的流程示意图。参见图5,该流程包括:
步骤51,提取所述标志代码组所在的行,以两位为单位,对所述标志代码组所在的行进行位置标识;
本步骤中,待抓取网页资源的统一资源定位符信息对应的网页资源文件信息保存在标志代码组所在的行中,进行位置标识后的代码段为:
0000000000000000ce1a01a1ec020080
12345678910111213141516
步骤52,依序提取所述标志代码组所在的行的第15位、第14位以及第13位十六进制代码,得到网页资源文件第一部分;
本步骤中,依序将标志代码组所在的行的第15位、第14位以及第13位十六进制字符串拼接在一起,得到十六进制字符串:0002ec;
步骤53,在得到的网页资源文件第一部分前再拼接上字符f_,得到所述网页资源文件。
本步骤中,在得到的字符串前再拼接上“f”,得到f_0002ec,即所述待抓取网页资源的统一资源定位符信息对应的网页资源文件。该网页资源文件存储在资源缓存文件路径下,即:
/data/data/a.b.c/Cache/webviewCacheChromium/f_0002ec。
本发明实施例中,通过研究安卓操作***4.0版本到4.3版本之间的网络视图控件,分析出网络视图控件的资源缓存特征,即包名与资源缓存文件路径的映射关系,对资源缓存文件路径下的二进制数据文件进行相关处理,从而找到与待抓取网页资源的统一资源定位符信息相匹配的信息段,依据相匹配的信息段前的标志信息所在的行,获取待抓取网页资源的统一资源定位符信息对应的网页资源文件,从而解析出待抓取网页资源的统一资源定位符信息和网页资源文件之间的映射关系,继而能够直接读取本地缓存的网页资源文件,无需再次通过网络将需要抓取的网页资源下载并保存到本地存储器,有效避免了资源的重复下载,节约了用户的网络流量,缩短了用户抓取网页资源所需的时间,即节省了获取已经加载的网页中的网页资源的时间,也提升了网络的资源利用效率。
图6为本发明实施例读取网页资源的装置结构示意图。参见图6,该装置应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:网页资源状态获取模块61、统一资源定位符信息获取模块62、文件路径获取模块63、信息字段匹配模块64以及网页资源读取模块65,其中,
网页资源状态获取模块61,用于接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态;
本发明实施例中,加载状态包括:加载未完毕以及加载完毕。
作为一可选实施例,网页资源状态获取模块61包括:注入单元、监听单元以及网页资源状态获取单元(图中未示出),其中,
注入单元,用于在网络视图控件中注入预先设置的抓取监听事件;
本发明实施例中,利用JAVA描述脚本代码实现抓取监听事件。
监听单元,用于在所述网络视图控件加载网页时,触发启动所述抓取监听事件以监听网页资源抓取请求;
网页资源状态获取单元,用于在监听到网页资源抓取请求后,获取所述网页抓取请求对应的待抓取网页资源的加载状态。
统一资源定位符信息获取模块62,如果所述待抓取网页资源的加载状态为加载完毕,获取所述待抓取网页资源的统一资源定位符信息;
本发明实施例中,所述网页资源为具有URL信息的资源,包括:图片资源、音频资源、视频资源以及动画资源中的一种或其任意组合。
文件路径获取模块63,用于依据构建当前网页的应用程序的包名,获取所述包名映射的资源缓存文件路径;
本发明是实施例中,对于安卓操作***4.0版本至4.3版本的网络视图控件,包名与资源缓存文件路径的映射关系保存在用于构建当前网页的应用程序的包名所对应的私有目录中。
作为一可选实施例,资源缓存文件路径为:/data/data/a.b.c/Cache/webviewCacheChromium,其中,a.b.c为所述包名。
信息字段匹配模块64,用于提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段;
本发明实施例中,作为一可选实施例,信息字段匹配模块包括:转换单元、网页资源代码提取单元以及信息字段匹配单元(图中未示出),其中,
转换单元,用于提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
网页资源代码提取单元,用于遍历所述代码组,获取预先设置的标志代码组,提取每一所述标志代码组后的连续非零代码,得到相应的网页资源代码;
信息字段匹配单元,用于将得到的网页资源代码转换成美国标准信息交换代码,如果转换得到的美国标准信息交换代码与所述待抓取网页资源的统一资源定位符信息相匹配,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
本发明实施例中,作为一可选实施例,所述二进制数据文件为:/data/data/a.b.c/Cache/webviewCacheChromium/data_1。
本发明实施例中,所述标志代码组为0080。从标志代码组0080后第一个非零代码开始,直至代码为零时为止,包含的代码段为网页资源代码。
本发明实施例中,在代码组中,可能包括一个或多个标志代码组,依据每一标志代码组,可以得到一网页资源代码。
本发明实施例中,作为另一可选实施例,信息字段匹配模块包括:第一转换单元、第二转换单元以及遍历匹配单元(图中未示出),其中,
第一转换单元,用于提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
第二转换单元,用于将所述待抓取网页资源的统一资源定位符信息转换为十六进制网页资源代码;
遍历匹配单元,用于遍历进行十六进制转换的二进制数据文件,获取与所述十六进制网页资源代码相匹配的代码段,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
网页资源读取模块65,用于查询所述相匹配的信息字段前的信息,获取预先设置的标志信息,依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。
本发明实施例中,作为一可选实施例,网页资源读取模块包括:查询单元、提取单元、网页资源文件第一生成单元、网页资源文件第二生成单元以及读取单元,其中,
查询单元,用于查询所述相匹配的信息字段前的信息,获取预先设置的标志信息;
提取单元,用于提取所述标志代码组所在的行,以两位为单位,对所述标志代码组所在的行进行位置标识;
本发明实施例中,待抓取网页资源的统一资源定位符信息对应的网页资源文件信息保存在标志代码组所在的行中。
网页资源文件第一生成单元,用于依序提取所述标志代码组所在的行的第15位、第14位以及第13位十六进制代码,得到网页资源文件第一部分;
本发明实施例中,依序将标志代码组所在的行的第15位、第14位以及第13位十六进制字符串拼接在一起,得到十六进制字符串。
网页资源文件第二生成单元,用于在得到的网页资源文件第一部分前再拼接上字符f_,得到所述网页资源文件;
本发明实施例中,网页资源文件存储在资源缓存文件路径/data/data/a.b.c/Cache/webviewCacheChromium下。
读取单元,用于读取所述资源缓存文件路径下的所述网页资源文件。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图7为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-6所示实施例的流程,如图7所示,上述电子设备可以包括:壳体71、处理器72、存储器73、电路板74和电源电路75,其中,电路板74安置在壳体71围成的空间内部,处理器72和存储器73设置在电路板74上;电源电路75,用于为上述电子设备的各个电路或器件供电;存储器73用于存储可执行程序代码;处理器72通过读取存储器73中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的读取网页资源的方法。
处理器72对上述步骤的具体执行过程以及处理器72通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-6所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种读取网页资源的方法,其特征在于,该方法应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:
接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态;
如果所述待抓取网页资源的加载状态为加载完毕,获取所述待抓取网页资源的统一资源定位符信息;
依据构建当前网页的应用程序的包名,获取所述包名映射的资源缓存文件路径;
提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段;
查询所述相匹配的信息字段前的信息,获取预先设置的标志信息,依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。
2.根据权利要求1所述的方法,其特征在于,所述接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态包括:
在网络视图控件中注入预先设置的抓取监听事件;
在所述网络视图控件加载网页时,触发启动所述抓取监听事件以监听网页资源抓取请求;
在监听到网页资源抓取请求后,获取所述网页抓取请求对应的待抓取网页资源的加载状态。
3.根据权利要求1所述的方法,其特征在于,所述提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段包括:
提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
遍历所述代码组,获取预先设置的标志代码组,提取每一所述标志代码组后的连续非零代码,得到相应的网页资源代码;
将得到的网页资源代码转换成美国标准信息交换代码,如果转换得到的美国标准信息交换代码与所述待抓取网页资源的统一资源定位符信息相匹配,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
4.根据权利要求3所述的方法,其特征在于,所述二进制数据文件为:/data/data/a.b.c/Cache/webviewCacheChromium/data_1。
5.根据权利要求3所述的方法,其特征在于,所述标志代码组为0080。
6.根据权利要求1所述的方法,其特征在于,所述提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段包括:
提取获取的所述资源缓存文件路径下的二进制数据文件,进行十六进制转换,每行对应32字节,每四位十六进制为一行中的一代码组;
将所述待抓取网页资源的统一资源定位符信息转换为十六进制网页资源代码;
遍历进行十六进制转换的二进制数据文件,获取与所述十六进制网页资源代码相匹配的代码段,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段。
7.根据权利要求1所述的方法,其特征在于,所述依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件包括:
提取所述标志代码组所在的行,以两位为单位,对所述标志代码组所在的行进行位置标识;
依序提取所述标志代码组所在的行的第15位、第14位以及第13位十六进制代码,得到网页资源文件第一部分;
在得到的网页资源文件第一部分前再拼接上字符f_,得到所述网页资源文件。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述资源缓存文件路径为:/data/data/a.b.c/Cache/webviewCacheChromium,其中,a.b.c为所述包名。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述网页资源包括:图片资源、音频资源、视频资源以及动画资源中的一种或其任意组合。
10.一种读取网页资源的装置,其特征在于,该装置应用于安卓操作***4.0版本至4.3版本的网络视图控件,包括:网页资源状态获取模块、统一资源定位符信息获取模块、文件路径获取模块、信息字段匹配模块以及网页资源读取模块,其中,
网页资源状态获取模块,用于接收网页资源抓取请求,获取所述网页抓取请求对应的待抓取网页资源的加载状态;
统一资源定位符信息获取模块,如果所述待抓取网页资源的加载状态为加载完毕,获取所述待抓取网页资源的统一资源定位符信息;
文件路径获取模块,用于依据构建当前网页的应用程序的包名,获取所述包名映射的资源缓存文件路径;
信息字段匹配模块,用于提取获取的所述资源缓存文件路径下的二进制数据文件,遍历所述二进制数据文件,得到与所述待抓取网页资源的统一资源定位符信息相匹配的信息字段;
网页资源读取模块,用于查询所述相匹配的信息字段前的信息,获取预先设置的标志信息,依据所述标志信息前的信息以及预先设置的文件名计算策略,得到所述待抓取网页资源的统一资源定位符信息对应的网页资源文件,读取所述资源缓存文件路径下的所述网页资源文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511020458.4A CN105701153B (zh) | 2015-12-29 | 2015-12-29 | 一种读取网页资源的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511020458.4A CN105701153B (zh) | 2015-12-29 | 2015-12-29 | 一种读取网页资源的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105701153A true CN105701153A (zh) | 2016-06-22 |
CN105701153B CN105701153B (zh) | 2019-03-22 |
Family
ID=56226040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511020458.4A Active CN105701153B (zh) | 2015-12-29 | 2015-12-29 | 一种读取网页资源的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105701153B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008984A (zh) * | 2017-11-15 | 2018-05-08 | 武汉斗鱼网络科技有限公司 | 一种资源文件下载更新方法及装置 |
CN108200191A (zh) * | 2018-01-29 | 2018-06-22 | 杭州电子科技大学 | 利用微扰法的客户端动态url相关脚本字符串检测*** |
CN108197291A (zh) * | 2018-01-19 | 2018-06-22 | 北京小米移动软件有限公司 | 操作执行方法及装置 |
CN110727891A (zh) * | 2019-09-09 | 2020-01-24 | 中国平安财产保险股份有限公司 | 浏览器缓存管理方法、装置及计算机可读存储介质 |
CN110795650A (zh) * | 2019-09-18 | 2020-02-14 | 平安银行股份有限公司 | 网页开启方法、装置及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290898A (zh) * | 1999-06-15 | 2001-04-11 | 太阳微***公司 | 在小型脚印尺寸装置上高速缓存缩减形式的网页 |
CN101369284A (zh) * | 2008-09-28 | 2009-02-18 | 北京搜狗科技发展有限公司 | 一种加载网页的方法及装置 |
CN102033917A (zh) * | 2010-12-09 | 2011-04-27 | 广州市动景计算机科技有限公司 | 移动终端的网页浏览方法及应用该方法的移动终端 |
CN102253941A (zh) * | 2010-05-21 | 2011-11-23 | 卓望数码技术(深圳)有限公司 | 一种缓存更新方法和缓存更新装置 |
CN102654882A (zh) * | 2011-03-02 | 2012-09-05 | 北京千橡网景科技发展有限公司 | 用于加载页面的方法和设备 |
CN102663074A (zh) * | 2012-03-31 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种搜索结果页面中链接的连接方法及装置 |
CN102833111A (zh) * | 2012-08-30 | 2012-12-19 | 北京锐安科技有限公司 | 一种可视化http数据监管方法及装置 |
CN102855253A (zh) * | 2011-06-30 | 2013-01-02 | 腾讯科技(深圳)有限公司 | 浏览器及其浏览方法 |
WO2014187159A1 (en) * | 2013-05-23 | 2014-11-27 | Tencent Technology (Shenzhen) Company Limited | A method and an apparatus for performing offline access to web pages |
US20140372936A1 (en) * | 2013-06-13 | 2014-12-18 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for displaying tag data |
-
2015
- 2015-12-29 CN CN201511020458.4A patent/CN105701153B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290898A (zh) * | 1999-06-15 | 2001-04-11 | 太阳微***公司 | 在小型脚印尺寸装置上高速缓存缩减形式的网页 |
CN101369284A (zh) * | 2008-09-28 | 2009-02-18 | 北京搜狗科技发展有限公司 | 一种加载网页的方法及装置 |
CN102253941A (zh) * | 2010-05-21 | 2011-11-23 | 卓望数码技术(深圳)有限公司 | 一种缓存更新方法和缓存更新装置 |
CN102033917A (zh) * | 2010-12-09 | 2011-04-27 | 广州市动景计算机科技有限公司 | 移动终端的网页浏览方法及应用该方法的移动终端 |
CN102654882A (zh) * | 2011-03-02 | 2012-09-05 | 北京千橡网景科技发展有限公司 | 用于加载页面的方法和设备 |
CN102855253A (zh) * | 2011-06-30 | 2013-01-02 | 腾讯科技(深圳)有限公司 | 浏览器及其浏览方法 |
CN102663074A (zh) * | 2012-03-31 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种搜索结果页面中链接的连接方法及装置 |
CN102833111A (zh) * | 2012-08-30 | 2012-12-19 | 北京锐安科技有限公司 | 一种可视化http数据监管方法及装置 |
WO2014187159A1 (en) * | 2013-05-23 | 2014-11-27 | Tencent Technology (Shenzhen) Company Limited | A method and an apparatus for performing offline access to web pages |
US20140372936A1 (en) * | 2013-06-13 | 2014-12-18 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for displaying tag data |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008984A (zh) * | 2017-11-15 | 2018-05-08 | 武汉斗鱼网络科技有限公司 | 一种资源文件下载更新方法及装置 |
CN108197291A (zh) * | 2018-01-19 | 2018-06-22 | 北京小米移动软件有限公司 | 操作执行方法及装置 |
CN108200191A (zh) * | 2018-01-29 | 2018-06-22 | 杭州电子科技大学 | 利用微扰法的客户端动态url相关脚本字符串检测*** |
CN108200191B (zh) * | 2018-01-29 | 2019-03-22 | 杭州电子科技大学 | 利用微扰法的客户端动态url相关脚本字符串检测*** |
CN110727891A (zh) * | 2019-09-09 | 2020-01-24 | 中国平安财产保险股份有限公司 | 浏览器缓存管理方法、装置及计算机可读存储介质 |
CN110795650A (zh) * | 2019-09-18 | 2020-02-14 | 平安银行股份有限公司 | 网页开启方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105701153B (zh) | 2019-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103338254B (zh) | 跨终端的应用推送方法、装置、终端及*** | |
CN102567516B (zh) | 脚本加载方法及装置 | |
CN103092581B (zh) | 一种Web前端本地开发环境的搭建方法和装置 | |
CN103491169B (zh) | 一种文件上传及下载的方法和*** | |
RU2517381C2 (ru) | Способ и устройство для моделирования просмотра веб-страниц | |
CN105701153A (zh) | 一种读取网页资源的方法、装置及电子设备 | |
CN105426549A (zh) | 一种读取网页资源的方法、装置及电子设备 | |
CN103338384A (zh) | 一种视频播放方法及装置 | |
CN103729425B (zh) | 操作响应方法、客户端、浏览器及*** | |
CN102646135B (zh) | 一种网页收藏方法、装置及*** | |
CN108287918B (zh) | 基于应用页面的音乐播放方法、装置、存储介质和电子设备 | |
CN105122237A (zh) | 共享应用程序状态 | |
CN103501481A (zh) | 一种基于无线网络的信息宣传推送方法及其推送设备 | |
CN104539682A (zh) | 移动网页的调试方法、装置、移动终端、服务器以及*** | |
CN103944944A (zh) | 分享网页链接的方法、电子设备及*** | |
CN103810176A (zh) | 一种网页信息的预取访问方法和装置 | |
CN105760490A (zh) | 一种存储资源的方法、装置及电子设备 | |
CN104580376A (zh) | 在局域网中建立终端之间连接的方法、装置和*** | |
CN105068802A (zh) | 一种跨设备运行的Web应用软件实现***和方法 | |
CN102624910B (zh) | 处理用户选取的网页内容的方法、装置及*** | |
CN105677730A (zh) | 一种读取网页资源的方法、装置及电子设备 | |
CN105550179A (zh) | 一种网页收藏方法和浏览器插件 | |
CN104023046A (zh) | 移动终端识别方法和装置 | |
CN103440281A (zh) | 一种用于获取下载文件的方法、装置与设备 | |
CN103246501A (zh) | 一种分享应用的方法以及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |