CN113051502A - 网页保存方法、装置、设备及存储介质 - Google Patents
网页保存方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113051502A CN113051502A CN202110267828.3A CN202110267828A CN113051502A CN 113051502 A CN113051502 A CN 113051502A CN 202110267828 A CN202110267828 A CN 202110267828A CN 113051502 A CN113051502 A CN 113051502A
- Authority
- CN
- China
- Prior art keywords
- page
- webpage
- target webpage
- sub
- pages
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
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
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种网页保存方法、装置、设备及存储介质。
背景技术
随着互联网技术的快速发展,用户几乎每天都要浏览网页以获取时事新闻、娱乐资讯等。对于一些包含较多内容的网页,往往需要花费较多的时间进行浏览,因此,常常需要将当前浏览的网页保存起来,以待后续重新加载网页将网页内容进行还原。
现有技术,通常通过离线的方式对网页进行保存,具体地,通过统一资源定位器(Uniform Resource Locator,URL)相对路径的方式对网页进行保存。然而,采用该方式进行网页的保存,可能导致网页在离线情况下不能直接打开查看,大大破坏了网页的独立性、完整性和可读性。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种网页保存方法、装置、设备及存储介质,以在离线情况下可正常阅读原网页显示的内容。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请一实施例提供了一种网页保存方法,所述方法包括:
在目标网页加载完成之后,获取所述目标网页的网页内容;
读取所述目标网页的第一页面节点状态信息;
将所述目标网页的网页内容和所述第一页面节点状态信息转换为所述目标网页的字符串;
将所述目标网页的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,所述读取所述目标网页的第一页面节点状态信息之前,所述方法还包括:
根据所述目标网页的网页内容,判断所述目标网页是否为满足预设显示条件的页面;
所述读取所述目标网页的第一页面节点状态信息,包括:
若所述目标网页为所述满足预设显示条件的页面,读取所述第一页面节点状态信息。
在一可选的实施方式中,所述在目标网页加载完成之后,获取所述目标网页的网页内容,包括:
在所述目标网页加载完成之后,判断所述目标网页是否存在跳转或刷新事件;
若存在跳转或刷新事件,则重新获取所述目标网页的网页内容。
在一可选的实施方式中,所述获取所述目标网页的网页内容,包括:
若所述目标网页中存在页面内容请求,则根据所述页面内容请求,从第一服务器获取所述目标网页的资源数据;和/或
若所述目标网页中存在页面显示请求,则根据所述页面显示请求,从第二服务器获取所述目标网页的显示脚本数据以及显示样式数据。
在一可选的实施方式中,所述目标网页的网页内容包括:所述目标网页的所有子页面的页面地址;
所述方法还包括:
响应针对所述目标网页输入的保存触发操作,根据所述所有子页面的页面地址,获取所述所有子页面的网页内容;
读取所述所有子网页的第二页面节点状态信息;
将所述所有子页面的网页内容以及所述第二页面节点状态信息均转换为所述所有子页面的字符串;
所述将所述目标网页的字符串保存至空白的超文本标记语言页面,包括:
将所述目标网页的字符串和所述所有子页面的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,所述获取所述所有子页面的网页内容,包括:
根据所述所有子页面的页面地址,采用预设的浏览器接口,获取所述所有子页面的页面样式信息。
在一可选的实施方式中,所述页面样式信息包括:图片信息、内容样式信息、显示脚本信息;
所述获取所述所有子页面的网页内容,包括:
通过预设的图片标签,获取所述所有子页面的图片信息;
通过预设的内容样式标签,获取所述所有子页面的内容样式信息;
通过预设的脚本标签,获取所述子页面的显示脚本信息。
第二方面,本申请另一实施例提供了一种网页保存装置,包括:
获取模块,用于在目标网页加载完成之后,获取所述目标网页的网页内容;
读取模块,用于读取所述目标网页的第一页面节点状态信息;
转换模块,用于将所述目标网页的网页内容和所述第一页面节点状态信息转换为所述目标网页的字符串;
保存模块,用于将所述目标网页的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,还包括:
判断模块,用于根据所述目标网页的网页内容,判断所述目标网页是否为满足预设显示条件的页面;
读取模块,具体用于:
若所述目标网页为所述满足预设显示条件的页面,读取所述第一页面节点状态信息。
在一可选的实施方式中,获取模块,具体用于:
在所述目标网页加载完成之后,判断所述目标网页是否存在跳转或刷新事件;
若存在跳转或刷新事件,则重新获取所述目标网页的网页内容。
在一可选的实施方式中,获取模块,具体用于:
若目标网页中存在页面内容请求,则根据所述页面内容请求,从第一服务器获取所述目标网页的资源数据;和/或
若所述目标网页中存在页面显示请求,则根据所述页面显示请求,从第二服务器获取所述目标网页的显示脚本数据以及显示样式数据。
在一可选的实施方式中,所述目标网页的网页内容包括:所述目标网页的所有子页面的页面地址;
获取模块,还用于:
响应针对所述目标网页输入的保存触发操作,根据所述所有子页面的页面地址,获取所述所有子页面的网页内容;
读取模块,还用于:
读取所述所有子网页的第二页面节点状态信息;
转换模块,还用于:
将所述所有子页面的网页内容以及所述第二页面节点状态信息均转换为所述所有子页面的字符串;
保存模块,具体用于:
将所述目标网页的字符串和所述所有子页面的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,获取模块,具体用于:
根据所述所有子页面的页面地址,采用预设的浏览器接口,获取所述所有子页面的页面样式信息。
在一可选的实施方式中,所述页面样式信息包括:图片信息、内容样式信息、显示脚本信息;
获取模块,具体用于:
通过预设的图片标签,获取所述所有子页面的图片信息;
通过预设的内容样式标签,获取所述所有子页面的内容样式信息;
通过预设的脚本标签,获取所述子页面的显示脚本信息。
第三方面,本申请另一实施例提供了一种网页保存设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当网页保存设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第一方面任一项所述的方法。
第四方面,本申请另一实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面任一项所述的方法。
本申请提供了一种网页保存方法、装置、设备及存储介质,其中,该方法包括:在目标网页加载完成之后,获取目标网页的网页内容,读取目标网页的第一页面节点状态信息,将目标网页的网页内容和第一页面节点状态信息转换为目标网页的字符串,将目标网页的字符串保存至空白的超文本标记语言页面。本申请将在线网页保存为独立的超文本标记语言页面,无需依赖网络,直接打开即可正常阅读原网页显示的内容,以获取较好的离线阅读体验,保证了离线页面的独立性、完整性和可读性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的网页保存方法的流程示意图一;
图2示出了本申请实施例提供的网页保存方法的流程示意图二;
图3示出了本申请实施例提供的网页保存方法的流程示意图三;
图4示出了本申请实施例提供的网页保存方法的流程示意图四;
图5示出了本申请实施例提供的网页保存方法的流程示意图五;
图6示出了本申请实施例提供的网页保存装置的结构示意图;
图7示出了本申请实施例提供的网页保存设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
通过离线的方式对网页进行保存,会遇到大量各种类型资源的处理,离线网页中某些类型资源的缺失会破坏网页的可读性和完整性,例如,图片的处理,具体包括涉及背景图片、内联图片以及离线图片的处理。现有技术中,通过统一资源定位器(UniformResource Locator,URL)相对路径的方式对网页进行保存,可能导致网页在离线情况下不能直接打开查看,或者需要依赖网络才能打开查看,或者手动需要保存路径之后才能访问,大大破坏了页面的独立性、完整性和可读性。
基于上述问题,本申请提供了一种能够处理各种影响页面可读性的常见资源的方法,通过将在线网页的各种类型资源对应的网页内容转换为无需依赖网络的离线内容,并将离线内容以字符串的形式保存至空白的超文本标记语言页面,即使无网络也能正常阅读在线网页已经显示的内容,显著提升了离线网页的独立性、完整性和可读性。
下面结合几个具体实施例对本申请提供的网页保存方法进行详细说明。
图1示出了本申请实施例提供的网页保存方法的流程示意图一,本实施例的执行主体可以为网页保存设备,例如可以为手机、平板电脑、笔记本电脑等终端设备。
如图1所示,该方法可以包括:
S101、在目标网页加载完成之后,获取目标网页的网页内容。
目标网页可以为任意一种类型的待访问网页,例如时事新闻类网页、学习类网页、娱乐资源类网页,本实施例对目标网页的类型不做特别限定。
在本实施例,通过浏览器可以访问目标网页,以进行目标网页的加载,在目标网页加载完成之后,可以获取目标网页的网页内容。其中,可以通过加载脚本以获取目标网页的网页内容,脚本加载的方式包括但不限于:第一种、通过加载浏览器插件的方式加载脚本,第二种、通过引入软件开发工具包(Software Development Kit,SDK)来加载脚本。
在一可选的实施方式中,目标网页的网页内容可以包括:目标网页与第一服务器交互的资源数据,也就是说,目标网页的网页内容除了包括一些可直接获取到的数据之外,还可以包括来自服务器的响应内容,因此,通过与服务器进行数据可以获取到响应内容。
S102、读取目标网页的第一页面节点状态信息。
目标网页的第一页面节点状态信息可以包括:目标网页中各文档对象模型(Document Object Model,DOM)节点的状态信息,目标网页中的DOM节点例如可以包括:输入框、点击控件等,DOM节点的状态信息例如可以包括:是否被点击、是否高亮显示、是否存在文字等,需要理解的是,不同的状态信息在目标网页的展示方式不同,例如,若输入框的状态信息为存在输入文字,那么在还原目标网页时,该输入框在离线网页中也存在输入文字。
也即,第一页面节点状态信息用于表征各DOM节点在目标网页的表现形式,通过读取各DOM节点的状态信息,便于在后续通过离线网页完整还原出目标网页。
在一可选的实施方式中,可以通过加载脚本,以遍历目标网页的DOM结构,并通过浏览器的浏览器对象模型(browser object model,BOM)读取目标网页中所有DOM节点的状态信息,其中,BOM是用于操作浏览器的应用程序接口(Application ProgrammingInterface,API)。
S103、将目标网页的网页内容和第一页面节点状态信息转换为目标网页的字符串。
S104、将目标网页的字符串保存至空白的超文本标记语言页面。
其中,目标网页的网页内容和第一页面节点状态信息中可能存在二进制的内容,因此,可以将目标网页的网页内容和第一页面节点状态信息转换为目标网页的字符串,即以字符串的形式表示目标网页的网页内容和第一页面节点状态信息,然后生成一个空白的超文本标记语言(Hyper Text Markup Language,HTML)页面,将目标网页的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,目标网页的字符串可以为ASCII字符串,通过浏览器的Blob、Uint8Array、URL等浏览器原生对象,对目标网页的网页内容和第一页面节点状态信息进行base64处理,可以将目标网页的网页内容和第一页面节点状态信息转换为ASCII字符串。
然后可以通过调用浏览器的API以二进制的形式访问保存后的超文本标记语言页面,在浏览器窗口中弹出保存对话框,以HTML方式保存超文本标记语言页面,这样,即可将在线网页保存为独立的超文本标记语言页面,在后续访问超文本标记语言页面时,无需依赖网络,便可获取较好的离线阅读体验。
需要说明的是,目标网页的字符串在写入空白的超文本标记语言页面时,可以将目标网页的字符串以HTML标签属性的形式进行保存,具体可以参见现有技术中关于HTML标签属性的相关描述,在此不再赘述。
本实施例的网页保存方法,在目标网页加载完成之后,获取目标网页的网页内容,读取目标网页的第一页面节点状态信息,将目标网页的网页内容和第一页面节点状态信息转换为目标网页的字符串,将目标网页的字符串保存至空白的超文本标记语言页面。将在线网页保存为独立的超文本标记语言页面,无需依赖网络,直接打开即可正常阅读原网页显示的内容,以获取较好的离线阅读体验,保证了离线页面的独立性、完整性和可读性。
在一可选的实施方式中,在读取目标网页的第一页面节点状态信息之前,还可以判断目标网页是否为满足预设显示条件的页面,预设显示条件根据用户需求设定,例如可以为具有完整内容,也即,只有在满足预设显示条件时,才会对目标网页进行保存。下面结合图2实施例进行说明。
图2示出了本申请实施例提供的网页保存方法的流程示意图二,如图2所示,步骤S102之前,该方法还可以包括:
S201、根据目标网页的网页内容,判断目标网页是否为满足预设显示条件的页面。
其中,预设显示条件例如可以为:具有完整内容,完整内容可以包括文字、图片、控件等内容。预设显示条件可以根据实际情况设定,本实施例对此不做特别限定。
根据目标网页的网页内容,可以判断目标网页是否满足预设显示条件,若满足,则可以继续读取目标网页的第一页面节点状态信息;若不满足,说明目标网页为特殊页面,特殊页面可以为显示有浏览器内部统一资源定位器(Uniform Resource Locator,URL)、本地文件地址、数据(data)统一资源标识符(UniformResourceIdentifier,URI)等的页面,也即,与离线保存内容无关的页面。
相应的,步骤S102可以包括:
S1021、若目标网页为满足预设显示条件的页面,读取第一页面节点状态信息。
若目标网页为满足预设显示条件的页面,说明可以对目标网页进行离线保存,则可以读取目标网页的第一页面节点状态信息,在一可选的实施方式中,可以通过加载脚本,以遍历目标网页的DOM结构,并通过浏览器的浏览器对象模型(browser object model,BOM)读取目标网页的所有DOM节点的状态信息。
本实施例的网页保存方法,根据目标网页的网页内容,判断目标网页是否为满足预设显示条件的页面,若目标网页为满足预设显示条件的页面,读取第一页面节点状态信息。在目标网页满足预设显示条件时,读取第一页面节点状态信息,进而进行离线网页的保存,防止将不满足预设显示条件的网页进行保存,提高了离线网页的有效性。
在一可选的实施方式中,步骤S101可以包括:
在目标网页加载完成之后,判断目标网页是否存在跳转或刷新事件。
若存在跳转或刷新事件,则重新获取目标网页的网页内容。
在目标网页加载完成之后,还可以通过加载脚本执行初始化监听事件,其中,初始化监听事件可以包括:监听目标网页是否存在跳转或刷新事件,也即,通过监听以判断目标网页是否存在跳转或刷新事件,若存在跳转或刷新事件,说明当前加载的目标网页不存在,则可以通过再次加载脚本,以重新获取目标网页的网页内容。
在一可选的实施方式中,初始化监听事件还可以包括:监听目标网页中是否存在页面内容请求,和/或页面显示请求,获取目标网页的网页内容可以包括步骤S301,和/或步骤S302。下面结合图3实施例进行说明。
图3示出了本申请实施例提供的网页保存方法的流程示意图三,如图3所示,获取目标网页的网页内容,可以包括:
S301、若目标网页中存在页面内容请求,则根据页面内容请求,从第一服务器获取目标网页的资源数据。
在加载脚本执行初始化监听事件时,初始化监听事件还可以包括:监听目标网页中是否存在页面内容请求,也即,通过监听以判断目标网页中是否存在页面内容请求,若存在,则向第一服务器发送页面内容请求,从第一服务器获取目标网页的资源数据,也就是说,目标网页的网页内容包括目标网页的资源数据,为将目标网页完整显示,需要从第一服务器获取相应的资源数据。
其中,页面内容请求可以为与服务器之间的XHR(XMLHttpRequest)请求,用于从服务器获取目标网页的资源数据。
S302、若目标网页中存在页面显示请求,则根据页面显示请求,从第二服务器获取目标网页的显示脚本数据以及显示样式数据。
其中,为将目标网页完整还原,需要获取显示目标网页的显示脚本数据以及显示样式数据,显示脚本数据可以为显示目标网页时,需要加载的脚本数据,显示样式数据可以为目标网页的显示样式数据,例如可以包括:目标网页的颜色、尺寸大小等。
在加载脚本执行初始化监听事件时,初始化监听事件还可以包括:监听目标网页中是否存在页面显示请求,若存在,则向第二服务器发送页面显示请求,从第二服务器获取目标网页的显示脚本数据以及显示样式数据,也就是说,目标网页的网页内容还包括目标网页的显示脚本数据以及显示样式数据,为将目标网页完整还原,需要从第二服务器获取显示脚本数据以及显示样式数据。
本实施例的网页保存方法,若目标网页中存在页面内容请求,则根据页面内容请求,从第一服务器获取目标网页的资源数据,和/或,若目标网页中存在页面显示请求,则根据页面显示请求,从第二服务器获取目标网页的显示脚本数据以及显示样式数据。通过页面内容请求和页面显示请求,可以完整获取到目标网页的网页内容,便于对目标网页的网页内容进行还原。
在一可选的实施方式中,目标网页的网页内容包括:目标网页的所有子页面的页面地址,目标网页的子页面可以为目标网页中嵌入的页面,例如在新闻资讯的网页中嵌入视频页面,其中,子页面的页面地址可以以链接形式、视频形式进行展示。
图4示出了本申请实施例提供的网页保存方法的流程示意图四,如图4所示,将目标网页的字符串保存至空白的超文本标记语言页面之前,该方法还可以包括:
S401、响应针对目标网页输入的保存触发操作,根据所有子页面的页面地址,获取所有子页面的网页内容。
在加载脚本执行初始化监听事件时,初始化监听事件还可以包括:监听目标网页中通过消息机制返回的消息,消息机制返回的消息包括目标网页的所有子页面的网页内容。
接收针对目标网页输入的保存触发操作,响应该保存触发操作,可以根据所有子页面的页面地址,加载所有子页面,在所有子页面加载完成之后,监听通过消息机制返回的所有子页面的网页内容,即获取到所有子页面的网页内容。
在一可选的实施方式中,目标网页中还可以设有保存控件,针对目标网页输入的保存触发操作可以包括:针对保存控件输入的保存触发操作。
根据所有子页面的页面地址,可以加载所有子页面,在所有子页面加载完成后,获取所有子页面的页面样式信息,这样,即可获取到所有子页面的页面样式信息,便于后续在离线情况下完整还原出所有子页面。
S402、读取所有子网页的第二页面节点状态信息。
所有子网页的第二页面节点状态信息可以包括:目所有子网页中DOM节点的状态信息,所有子网页中的DOM节点例如可以包括:输入框、点击控件等,DOM节点的状态信息例如可以包括:是否被点击、是否高亮显示等,需要理解的是,不同的状态信息在子网页的展示方式不同,例如,若输入框的状态信息为高亮显示,那么输入框在子网页可以呈现高亮显示,若输入框的状态信息为非高亮显示,那么输入框在子网页可以普通显示。
也即,第二页面节点状态信息用于表征各DOM节点在子网页的表现形式,通过读取各DOM节点的状态信息,便于在后续通过离线网页完整还原出子网页。
在一可选的实施方式中,可以通过加载脚本,以遍历所有子网页的DOM结构,并通过浏览器的浏览器对象模型(browser object model,BOM)读取所有子网页中所有DOM节点的状态信息。
S403、将所有子页面的网页内容以及第二页面节点状态信息均转换为所有子页面的字符串。
步骤S104可以包括:
S1041、将目标网页的字符串和所有子页面的字符串保存至空白的超文本标记语言页面。
其中,所有子网页的网页内容和第二页面节点状态信息中可能存在二进制的内容,因此,可以将所有子网页的网页内容和第二页面节点状态信息转换为所有子网页的字符串,即以字符串的形式表示所有子网页的网页内容和第二页面节点状态信息,然后生成一个空白的超文本标记语言(Hyper Text Markup Language,HTML)页面,将目标网页的字符串和所有子页面的字符串均保存至空白的超文本标记语言页面。
在一可选的实施方式中,所有子网页的字符串可以为ASCII字符串,通过浏览器的Blob、Uint8Array、URL等浏览器原生对象,对所有子网页的网页内容和第二页面节点状态信息进行base64处理,可以将所有子网页的网页内容和第二页面节点状态信息转换为ASCII字符串。
需要说明的是,所有子页面的网页内容除了包括一些可直接获取到的数据之外,还可以包括来自服务器的响应内容,也就是说,还可以通过加载脚本对所有子页面执行初始化监听事件,监听所有子页面是否存在页面内容请求,和/或页面显示请求,以获取所有子页面的资源数据、显示脚本数据以及显示样式数据。并且,还可以监听所有子页面是否存在子页面,若所有子页面中的目标子页面存在子页面,则还可以执行本实施例,以获取目标子页面的子页面的网页内容以及目标子页面的子页面的页面节点状态信息,并将目标子页面的子页面的网页内容以及目标子页面的子页面的页面节点状态信息转换为目标子页面的子页面的字符串,并将转换后的字符串写入空白的超文本标记语言页面中。
本实施例的网页保存方法,响应针对目标网页输入的保存触发操作,根据所有子页面的页面地址,获取所有子页面的网页内容,读取所有子网页的第二页面节点状态信息,将所有子页面的网页内容以及第二页面节点状态信息均转换为所有子页面的字符串,将目标网页的字符串和所有子页面的字符串保存至空白的超文本标记语言页面。考虑到目标网页的所有子网页,采用该方式还可以还原出目标网页的所有子网页,使得保存后的离线子网页能够直接打开查看,显著提升了离线子网页的独立性、完整性和可读性。
在一可选的实施方式中,步骤S401可以包括:
根据所有子页面的页面地址,采用预设的浏览器接口,获取所有子页面的页面样式信息。
其中,所有子页面的网页内容包括:页面样式信息,页面样式信息用于指示所有子页面中显示的各种类型内容的属性以及所有子页面对应的脚本属性,可以包括:图片信息、内容样式信息、显示脚本信息,图片信息包括图片类型、图片尺寸等,内容样式信息包括字体、大小、段落等,显示脚本信息包括脚本标签、脚本内容、脚本加载方式、脚本地址等。
预设的浏览器接口可以为浏览器提供的BOM接口,其中,BOM是用于操作浏览器的应用程序接口API。根据所有子页面的页面地址,可以加载所有子页面,在所有子页面加载完成之后,可以采用预设的浏览器接口,获取所有子页面的页面样式信息。
图5示出了本申请实施例提供的网页保存方法的流程示意图五,如图5所示,获取所有子页面的页面样式信息,可以包括:
S501、通过预设的图片标签,获取所有子页面的图片信息。
S502、通过预设的内容样式标签,获取所有子页面的内容样式信息。
S503、通过预设的脚本标签,获取子页面的显示脚本信息。
其中,预设的图片标签用于指示采用预设的浏览器接口获取子页面的图片信息,类似地,预设的内容样式标签用于指示采用预设的浏览器接口获取所有子页面的内容样式信息,预设的脚本标签用于指示采用预设的浏览器接口获取所有子页面的显示脚本信息。其中,页面样式信息包括:图片信息、内容样式信息、显示脚本信息,也即,通过获取所有子页面的页面样式信息可以在离线情况下完整还原出所有子页面。
也就是说,采用预设的浏览器接口,分别通过预设的图片标签可以获取所有子页面的图片信息,通过预设的内容样式标签,获取所有子页面的内容样式信息,通过预设的脚本标签,获取子页面的显示脚本信息。
其中,图片信息包括所有子页面中图片的图片类型、图片尺寸等,内容样式信息包括所有子页面中展示的文字的字体、大小、段落等,显示脚本信息包括为显示子页面所加载的脚本信息,包括脚本标签、脚本内容、脚本加载方式、脚本地址等。
本实施例的网页保存方法,页面样式信息包括:图片信息、内容样式信息、显示脚本信息,获取所述所有子页面的网页内容,包括:通过预设的图片标签,获取所有子页面的图片信息,通过预设的内容样式标签,获取所有子页面的内容样式信息,通过预设的脚本标签,获取子页面的显示脚本信息。通过获取所有子页面的页面样式信息可以在离线情况下完整还原出所有子页面,使得保存后的离线子网页能够直接打开查看,显著提升了离线子网页的独立性、完整性和可读性。
图6示出了本申请实施例提供的网页保存装置的结构示意图,网页保存装置可以集成在网页保存设备中,网页保存设备例如可以为手机、平板电脑、笔记本电脑等终端设备。如图6所示,网页保存装置60可以包括:
获取模块601,用于在目标网页加载完成之后,获取所述目标网页的网页内容;
读取模块602,用于读取所述目标网页的第一页面节点状态信息;
转换模块603,用于将所述目标网页的网页内容和所述第一页面节点状态信息转换为所述目标网页的字符串;
保存模块604,用于将所述目标网页的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,还包括:
判断模块605,用于根据所述目标网页的网页内容,判断所述目标网页是否为满足预设显示条件的页面;
读取模块602,具体用于:
若所述目标网页为所述满足预设显示条件的页面,读取所述第一页面节点状态信息。
在一可选的实施方式中,获取模块601,具体用于:
在所述目标网页加载完成之后,判断所述目标网页是否存在跳转或刷新事件;
若存在跳转或刷新事件,则重新获取所述目标网页的网页内容。
在一可选的实施方式中,获取模块601,具体用于:
若目标网页中存在页面内容请求,则根据所述页面内容请求,从第一服务器获取所述目标网页的资源数据;和/或
若所述目标网页中存在页面显示请求,则根据所述页面显示请求,从第二服务器获取所述目标网页的显示脚本数据以及显示样式数据。
在一可选的实施方式中,所述目标网页的网页内容包括:所述目标网页的所有子页面的页面地址;
获取模块601,还用于:
响应针对所述目标网页输入的保存触发操作,根据所述所有子页面的页面地址,获取所述所有子页面的网页内容;
读取模块602,还用于:
读取所述所有子网页的第二页面节点状态信息;
转换模块603,还用于:
将所述所有子页面的网页内容以及所述第二页面节点状态信息均转换为所述所有子页面的字符串;
保存模块604,具体用于:
将所述目标网页的字符串和所述所有子页面的字符串保存至空白的超文本标记语言页面。
在一可选的实施方式中,获取模块601,具体用于:
根据所述所有子页面的页面地址,采用预设的浏览器接口,获取所述所有子页面的页面样式信息。
在一可选的实施方式中,所述页面样式信息包括:图片信息、内容样式信息、显示脚本信息;
获取模块601,具体用于:
通过预设的图片标签,获取所述所有子页面的图片信息;
通过预设的内容样式标签,获取所述所有子页面的内容样式信息;
通过预设的脚本标签,获取所述子页面的显示脚本信息。
本实施例的网页保存装置,实现过程和实现原理可以参见上述方法实施例提供的网页保存方法,在此不再赘述。
图7示出了本申请实施例提供的网页保存设备的结构示意图,如图7所示,网页保存设备70包括:处理器701、存储器702和总线703,所述存储器702存储有所述处理器701可执行的计算机程序,当网页保存设备70运行时,所述处理器701与所述存储器702之间通过总线703通信,所述处理器701执行所述计算机程序,以执行上述方法实施例。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种网页保存方法,其特征在于,包括:
在目标网页加载完成之后,获取所述目标网页的网页内容;
读取所述目标网页的第一页面节点状态信息;
将所述目标网页的网页内容和所述第一页面节点状态信息转换为所述目标网页的字符串;
将所述目标网页的字符串保存至空白的超文本标记语言页面。
2.根据权利要求1所述的方法,其特征在于,所述读取所述目标网页的第一页面节点状态信息之前,所述方法还包括:
根据所述目标网页的网页内容,判断所述目标网页是否为满足预设显示条件的页面;
所述读取所述目标网页的第一页面节点状态信息,包括:
若所述目标网页为所述满足预设显示条件的页面,读取所述第一页面节点状态信息。
3.根据权利要求1所述的方法,其特征在于,所述在目标网页加载完成之后,获取所述目标网页的网页内容,包括:
在所述目标网页加载完成之后,判断所述目标网页是否存在跳转或刷新事件;
若存在跳转或刷新事件,则重新获取所述目标网页的网页内容。
4.根据权利要求1所述的方法,其特征在于,所述获取所述目标网页的网页内容,包括:
若所述目标网页中存在页面内容请求,则根据所述页面内容请求,从第一服务器获取所述目标网页的资源数据;和/或
若所述目标网页中存在页面显示请求,则根据所述页面显示请求,从第二服务器获取所述目标网页的显示脚本数据以及显示样式数据。
5.根据权利要求1所述的方法,其特征在于,所述目标网页的网页内容包括:所述目标网页的所有子页面的页面地址;
所述方法还包括:
响应针对所述目标网页输入的保存触发操作,根据所述所有子页面的页面地址,获取所述所有子页面的网页内容;
读取所述所有子网页的第二页面节点状态信息;
将所述所有子页面的网页内容以及所述第二页面节点状态信息均转换为所述所有子页面的字符串;
所述将所述目标网页的字符串保存至空白的超文本标记语言页面,包括:
将所述目标网页的字符串和所述所有子页面的字符串保存至空白的超文本标记语言页面。
6.根据权利要求5所述的方法,其特征在于,所述获取所述所有子页面的网页内容,包括:
根据所述所有子页面的页面地址,采用预设的浏览器接口,获取所述所有子页面的页面样式信息。
7.根据权利要求6所述的方法,其特征在于,所述页面样式信息包括:图片信息、内容样式信息、显示脚本信息;
所述获取所述所有子页面的网页内容,包括:
通过预设的图片标签,获取所述所有子页面的图片信息;
通过预设的内容样式标签,获取所述所有子页面的内容样式信息;
通过预设的脚本标签,获取所述子页面的显示脚本信息。
8.一种网页保存装置,其特征在于,包括:
获取模块,用于在目标网页加载完成之后,获取所述目标网页的网页内容;
读取模块,用于读取所述目标网页的第一页面节点状态信息;
转换模块,用于将所述目标网页的网页内容和所述第一页面节点状态信息转换为所述目标网页的字符串;
保存模块,用于将所述目标网页的字符串保存至空白的超文本标记语言页面。
9.一种网页保存设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当网页保存设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110267828.3A CN113051502A (zh) | 2021-03-11 | 2021-03-11 | 网页保存方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110267828.3A CN113051502A (zh) | 2021-03-11 | 2021-03-11 | 网页保存方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113051502A true CN113051502A (zh) | 2021-06-29 |
Family
ID=76511875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110267828.3A Pending CN113051502A (zh) | 2021-03-11 | 2021-03-11 | 网页保存方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051502A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153778A (zh) * | 2016-12-05 | 2018-06-12 | 腾讯科技(深圳)有限公司 | 网页保存方法、网页读取方法及装置 |
CN110674444A (zh) * | 2019-09-20 | 2020-01-10 | 青岛海信移动通信技术股份有限公司 | 一种动态网页下载的方法及终端 |
CN110990731A (zh) * | 2019-10-12 | 2020-04-10 | 平安国际智慧城市科技股份有限公司 | 一种静态网页的渲染方法、装置、设备及计算机存储介质 |
-
2021
- 2021-03-11 CN CN202110267828.3A patent/CN113051502A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153778A (zh) * | 2016-12-05 | 2018-06-12 | 腾讯科技(深圳)有限公司 | 网页保存方法、网页读取方法及装置 |
CN110674444A (zh) * | 2019-09-20 | 2020-01-10 | 青岛海信移动通信技术股份有限公司 | 一种动态网页下载的方法及终端 |
CN110990731A (zh) * | 2019-10-12 | 2020-04-10 | 平安国际智慧城市科技股份有限公司 | 一种静态网页的渲染方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991154B (zh) | 网页渲染方法、装置、终端及服务器 | |
CN109801347B (zh) | 一种可编辑图像模板的生成方法、装置、设备和介质 | |
US10754917B2 (en) | Method and system for displaying customized webpage on double webview | |
EP3518124A1 (en) | Webpage rendering method and related device | |
CN109684586B (zh) | 页面优化显示方法、装置、计算机设备及存储介质 | |
CN106294658B (zh) | 网页快速展示方法和装置 | |
CN104899269A (zh) | 一种访问网址链接的方法及装置 | |
CN106611032A (zh) | 一种网页预加载的方法及装置 | |
CN106874271A (zh) | 一种将pc网页转换为移动终端网页的方法及系统 | |
CN111915705A (zh) | 图片可视化编辑方法、装置、设备和介质 | |
CN104021127A (zh) | 信息处理方法及电子设备 | |
CN114218890A (zh) | 页面渲染方法、装置、电子设备以及存储介质 | |
CN111367518A (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN111783019A (zh) | 浏览器子页面创建方法、装置、计算机设备和存储介质 | |
CN111431767A (zh) | 多浏览器资源同步方法、装置、计算机设备和存储介质 | |
US20170031889A1 (en) | Creating a communication editable in a browser independent of platform and operating system | |
CN113468450A (zh) | 一种页面控制方法及装置 | |
CN113051502A (zh) | 网页保存方法、装置、设备及存储介质 | |
CN108268298B (zh) | 桌面图标的生成方法、装置、存储介质及电子设备 | |
CN116483353A (zh) | 模块运行器的生成方法、页面加载方法、装置及电子设备 | |
CN108021567B (zh) | 浏览器自适应自定义字体的方法及装置 | |
CN102099806B (zh) | 信息输出装置及信息输出方法 | |
CN112749528B (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
CN113901374A (zh) | 网页刷新方法、装置、电子设备及存储介质 | |
CN112988255B (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 |