CN103902571B - 保存网页完整内容的方法、系统及相应的客户端和服务器 - Google Patents

保存网页完整内容的方法、系统及相应的客户端和服务器 Download PDF

Info

Publication number
CN103902571B
CN103902571B CN201210578711.8A CN201210578711A CN103902571B CN 103902571 B CN103902571 B CN 103902571B CN 201210578711 A CN201210578711 A CN 201210578711A CN 103902571 B CN103902571 B CN 103902571B
Authority
CN
China
Prior art keywords
cloud server
dom tree
module
server
client
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.)
Active
Application number
CN201210578711.8A
Other languages
English (en)
Other versions
CN103902571A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210578711.8A priority Critical patent/CN103902571B/zh
Publication of CN103902571A publication Critical patent/CN103902571A/zh
Application granted granted Critical
Publication of CN103902571B publication Critical patent/CN103902571B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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

本申请公开了一种保存网页完整内容的方法、系统以及对应的客户端和中转服务器。所述客户端获取浏览器所解析的当前所展示网页的DOM树和所有非内联样式数据,遍历所述DOM树,将非内联样式数据转换成每个DOM元素的内联样式数据,并保存在对应元素的自定义属性中,之后将所述DOM树上传到中转服务器;中转服务器接收客户端上传的DOM树,根据该DOM树中的图片标签抓取网页中的图片数据,按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件,并将格式文件上传到云端服务器保存。利用本发明,可以实现利用移动终端将网页的完整内容高效、快速地保存到云端服务器,同时又可以节约移动终端的机器资源开销和网络带宽资源。

Description

保存网页完整内容的方法、系统及相应的客户端和服务器
技术领域
本申请涉及网页数据处理技术领域,尤其涉及一种保存网页完整内容的方法、系统及相应的客户端和服务器。
背景技术
网络浏览器简称浏览器,是指万维网(Web)服务的客户端浏览程序,浏览器在访问网页时,可以向Web服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解析、显示和播放,从而将网页展示在终端屏幕上。
用户在通过浏览器访问网页时,往往希望能把当前浏览的网页的完整内容保存下来,在以后希望重新浏览该网页时,即使不访问该网页的发布服务器也可以正常浏览该网页的完整内容。为了满足这一需求,现有的大部分浏览器都有将当前浏览的网页的完整内容保存在本地终端(如计算机或移动终端)上的功能。
但是目前随着各种电子终端的普及,用户往往会拥有多个具有数据处理功能的电子终端,并可采用各个电子终端上的浏览器网浏览网页。例如在办公室使用台式计算机浏览网页,在家里使用笔记本电脑浏览网页,外出时又使用移动终端(例如智能手机、掌上电脑、平板电脑等)浏览网页,如果还是将当前浏览的网页的完整内容只保存在本地终端,那么当用户更换电子终端后,由于当前电子终端本地中没有保存网页,因此用户需要重新浏览该网页时,还需要访问该网页的发布服务器才可以正常浏览到该网页的完整内容,如果该发布服务器出现问题则无法再次浏览该网页。
为了解决这个问题,目前出现了一种在云端保存网页完整内容的技术方案,例如Evernote云端笔记系统。该技术方案中包括云端服务器和客户端,所述客户端作为计算机(PC)浏览器的插件安装在计算机浏览器上,用于对该计算机当前浏览的网页的完整内容(包括具体内容信息和样式信息)进行直接提取,并转换成所述云端服务器要求的指定格式的文件,该指定格式的文件中包含了网页的排版内容、样式信息、图片资源数据这些构成网页的完整内容;转换完毕后,再将该指定格式的文件上传到云端服务器进行保存,用户可以凭借帐号来访问该云端服务器。在用户以后希望重新浏览保存过的具有完整内容的网页时,不需要再访问该网页的发布服务器,而是登录所述云端服务器,访问该云端服务器中保存的网页即可。这样即使该网页的发布服务器出现问题也可以再次浏览该网页的完整内容,而且不必受到终端的限制,例如用户利用办公室电脑将网页保存到云端服务器,在家里使用笔记本电脑同样可以访问到该云端服务器中保存的网页。
但是上述技术方案只能适用于计算机即桌面平台,无法适用于机器性能很差的移动终端即移动平台,例如智能手机、掌上电脑、平板电脑等,因为所述客户端的转换工作对机器资源的开销太大,将上述技术方案直接移植到移动终端上,即直接将所述客户端安装在移动终端上,且采用现有方法对网页进行提取转换,会导致移动终端资源开销大、运行效率低的技术问题;同时,由于网页的所有内容(包括所有的文字和图片资源)的提取和转换工作在客户端完成,并且要将所有内容由客户端上传到云端服务器,因此会耗费大量的网络带宽资源,而移动终端的网络带宽资源又是相对稀少且昂贵的。
发明内容
有鉴于此,本发明的主要目的在于提供一种保存网页完整内容的方法、系统及相应的客户端和服务器,可以实现利用移动终端将网页的完整内容高效、快速地保存到云端服务器,同时又可以节约移动终端的机器资源开销和网络带宽资源。
本发明的技术方案是这样实现的:
一种保存网页完整内容的方法,包括:
客户端获取浏览器所解析的当前所展示网页的文档对象模型DOM树;并获取该网页的所有非内联样式数据;
客户端遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中;
客户端将所述经过转换处理的DOM树上传到中转服务器;
中转服务器接收客户端上传的所述经过转换处理的DOM树;
中转服务器根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据;
中转服务器按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件;
中转服务器将所述转换后的格式文件上传到所述云端服务器保存。
一种保存网页完整内容的系统,该系统包括客户端和中转服务器;
所述客户端包括第一模块、第二模块和第三模块;
所述第一模块用于获取浏览器所解析的当前所展示网页的文档对象模型DOM树;并获取该网页的所有非内联样式数据;
所述第二模块用于遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中;
所述第三模块用于将所述经过转换处理的DOM树上传到中转服务器;
所述中转服务器包括第四模块、第五模块、第六模块和第七模块;
所述第四模块用于接收客户端上传的所述经过转换处理的DOM树;
所述第五模块用于根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据;
所述第六模块用于按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件;
所述第七模块用于将所述转换后的格式文件上传到所述云端服务器保存。
一种客户端,该客户端包括第一模块、第二模块和第三模块;
所述第一模块用于获取浏览器所解析的当前所展示网页的DOM树;并获取该网页的所有非内联样式数据;
所述第二模块用于遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中;
所述第三模块用于将所述经过转换处理的DOM树上传到中转服务器。
一种中转服务器,其特征在于,该中转服务器包括第四模块、第五模块、第六模块和第七模块;
所述第四模块用于接收客户端上传的经过转换处理的DOM树;
所述第五模块用于根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据;
所述第六模块用于按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件;
所述第七模块用于将所述转换后的格式文件上传到所述云端服务器保存。
与现有技术相比,本发明采用客户端和中转服务器共同处理的方式来完成对网页完整内容(包括具体内容信息和样式信息)提取转换并保存到指定云端服务器的过程。其中,网页中不需要过多消耗机器资源的字符信息和样式信息的提取工作由客户端来完成,而需要消耗大量机器资源和带宽资源的依照云端服务器要求格式的格式转换工作、图片抓取工作、以及将格式文件上传到云端服务器的工作由中转服务器来完成,这样的客户端安装在移动终端上,就可以实现利用移动终端将网页的完整内容高效、快速地保存到云端服务器,同时又可以节约移动终端的机器资源。同时,网页中图片的抓取工作由中转服务器来完成,从而避免了移动终端上传数据量较大的图片资源给服务器的过程,节约了移动终端的网络带宽资源。
附图说明
图1为本发明所述保存网页完整内容的方法的一种流程图;
图2为本发明所述保存网页完整内容的系统的一种组成示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明
图1为本发明所述保存网页完整内容的方法的一种流程图。参见图1,该方法主要包括:
101、客户端获取浏览器所解析的当前在浏览器上所展示出的网页的文档对象模型(DOM)树;并获取该网页的所有非内联样式数据。
所述DOM,是W3C组织推荐的处理可扩展置标语言的标准编程接口,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个超文本标记语言(HTML,Hypertext Markup Language)或可扩展标记语言(XML,Extensible Markup Language)的常用方法,而网页的本质就是由HTML或XML文档构成,DOM树中包含了网页中的完整的内容和结构,DOM树包含的是字符信息,数据量较小。
此步骤101中,所述DOM树由浏览器内核经过解析处理(包括渲染,加载javascript引擎等处理)得到的DOM树,客户端可以以插件的形式安装到移动终端的浏览器中,可以直接获取该浏览器内核所解析出的浏览器当前所展示网页的DOM树。
例如在移动终端的浏览器中,所述浏览器内核通常为Webkit浏览器内核,本发明可以从Webkit浏览器内核获取所述DOM树。
此步骤101中,所述客户端获取所述网页的所有非内联样式数据,具体包括:
获取所述网页中style标签内所包含的非内联级联样式表(CSS,CascadingStyleSheet)数据;
和/或,根据所述网页中link标签内指定的外部CSS文件地址,访问该外部CSS文件,从该外部CSS文件中获取非内联CSS数据。例如具体可以是通过Javascript获取要当所展示的网页中link标签内跨域的CSS文件URL,然后通过浏览器下载上述CSS文件,并用Javascript动态的在原link标签位置创建style标签,并插入CSS文本内容,所述style标签内插入的CSS文本内容就是所要获取的所述网页的非内联样式数据。
102、客户端遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中。
下面以一个具体的例子来说明上述步骤101和102的一种具体的处理方法。
比如有个当前所要保存的网页的DOM树如下:
其中,link标签中的CSS文件ext_test.css的内容如下:
body{font-family:"Times New Roman",Georgia,Seri}
.normal{font-size:14px;}
步骤101的一种具体实施过程例如如下步骤111和112:
111.找到link标签中的CSS文件,即http://abc.com/css/ext_test.css,然后通过浏览器获取该CSS文件的内容。
112.在原DOM树中的link标签前创建style标签,插入所述CSS文件的具体内容,该新创建的style标签内的内容就是link标签CSS文件中的非内联样式数据。
所述步骤102的一种具体实施过程例如如下步骤121和122:
121.遍历所述DOM树中的各个元素,将获取得到的非内联样式数据,即上述例子中的style标签内的非内联样式数据和link标签CSS文件中的非内联样式数据,合并成内联样式,并保存在元素的一个单独属性中。此处可以通过Javascript遍历所述DOM树中的每一个DOM元素,对于每一个元素,具体可以包括以下步骤1)~3)
1)获取应用在该元素上的所有CSS属性名;
2)通过Javascript获取每个CSS属性名的值;
3)把最终获取到的CSS属性名及其值保存在该元素的一个自定义属性中,如下的ext_style属性;
122.删除所述步骤112创建的style标签及内容。
步骤102完成后的经过转换处理的DOM树的内容如下:
其中,所述元素中的ext_style属性即为合并后的样式,其中<body>元素中的属性ext_style="font-family:'Times New Roman',Georgia,serif;就是所述原DOM树中link标签所述CSS文件中的一部分非内联样式数据。<p>元素中的ext_style="font-weight:bold;font-size:14px;color:rgb(0,255,255);">Contents就是所述原DOM树中link标签所述CSS文件中的一部分非内联样式数据和原DOM树中style标签中的非内联样式数据。
这样,原DOM树中的所有非内联样式数据都转换成了元素中的内联样式数据,这样的DOM树就可以上传到中转服务器进行云端格式的转换了。
103、客户端将所述经过转换处理的DOM树上传到中转服务器。
104、中转服务器接收客户端上传的所述经过转换处理的DOM树。
105、中转服务器根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据。
例如所述DOM树中的图片标签例如:<img src=”http://abc.com/fig.png”>
根据该<img>标签中的URL”http://abc.com/fig.png”从对应的网页发布服务器中获取图片数据fig.png。
106、中转服务器按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件。
107、中转服务器将所述转换后的格式文件上传到所述云端服务器保存。
所述用于保存网页的云端服务器可能是一个,也可能不止一个,而且每种云端服务器所要求的格式也可能不一样。因此在本发明的一种具体实施例中,本发明所述的方法进一步包括:所述客户端可以指定云端服务器,即用户希望将网页保存在哪一个云端服务器上,该客户端将指定的云端服务器的标识上传到中转服务器;所述中转服务器中保存至少一种云端服务器的格式信息,并进一步接收客户端上传的指定的云端服务器的标识。
在本实施例的所述步骤106中,所述中转服务器按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件,具体包括:中转服务器根据所述客户端上传的指定云端服务器的标识查找该云端服务器的格式信息,之后再按照该云端服务器的格式信息要求,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件。
在所述步骤106中,所述中转服务器按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件,具体包括:
所述中转服务器按照云端服务器所要求的标签和属性的格式,遍历所述DOM树中的标签和属性,将云端服务器不允许的标签和属性过滤掉,将云端服务器允许但需要替换的标签和属性按照云端服务器提供的标签和属性标识进行替换,将所述遍历处理后的DOM树转换为云端服务器指定格式的文本文件。例如如果云端服务器的格式要求不允许AAA标签和aaa属性,则将DOM树中的AAA标签和aaa属性去掉;如果所述云端服务器的格式要求允许BBB标签和bbb属性,但是需要将BBB标签和bbb属性替换为YYY标签和yyy属性,则将DOM树中的BBB标签和bbb属性替换为YYY标签和yyy属性。
然后,将所述图片数据置入所述文本文件,将所述置入了图片数据的文本文件作为云端服务器所要求的格式文件;或者,将所述图片数据与所述文本文件打包成云端服务器所要求的格式文件。
另外,在所述中转服务器按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件的过程中,还可以进一步包括:中转服务器利用散列算法计算所述图片数据对应的散列标识,利用该散列标识替换所述DOM树中对应图片的原有标识。
由于所述散列标识通常比较短小,而且每一张图片的散列标识都唯一,而图片原有标识通常为URL,长度较长,唯一性差。通过上述替换,一方面可以降低DOM树的数据量;另一方面,当所述格式文件上传到云端服务器之后,由于所述散列标识是一种唯一标识,因此云端服务器就可以利用相同的散列算法对格式文件中的图片数据进行重新计算,并以计算结果作为校验值去校验格式文件中DOM树中对应图片的标识,从而进一步增强图片数据的准确性。
与现有技术相比,本发明采用客户端和中转服务器共同处理的方式来完成对网页完整内容(包括具体内容信息和样式信息)提取转换并保存到指定云端服务器的过程。其中,由于中转服务器的参与,可以降低安装在移动终端上的客户端对移动终端机器资源的消耗和网络带宽资源的消耗。但是又不能将所有的处理过程交给中转服务器来执行,因为本发明的目的之一是要保存用户在移动终端浏览器上所展示网页的完整内容,而每一个移动终端由于其所处的IP网段不同、显示语言不同、网络代理不同等不同的设置,因此不同移动终端浏览同一URL地址的网页时,在浏览器上所展示的网页内容和形式上也会有所区别的,这些区别是有移动终端本地浏览器内核通过解析处理的DOM树而得到的。因此,本发明创造性地将所述步骤101和102由安装在移动终端上的客户端来处理,这样,就可以将本地移动终端浏览器所展示出的个体化的网页完整内容保存在云端服务器。此后,在用户以后希望重新浏览保存过的具有完整内容的网页时,不需要再访问该网页的发布服务器,而是登录所述云端服务器,访问该云端服务器中保存的网页完整内容,就可以看到用户保存该网页时在移动终端上所看到的一模一样的网页完整内容。
同时,由于所述步骤101和步骤102这两个轻量级的步骤由客户端来完成,不需要消耗移动终端过多的机器资源,执行效率高、速度快。而步骤103中又不需要上传大数据量的图片数据,因此可以节约网络带宽资源。这样的客户端安装在移动终端上,就可以实现利用移动终端将网页的完整内容高效、快速地保存到云端服务器,同时又可以节约移动终端的机器资源。同时,网页中图片的抓取工作由中转服务器来完成,从而避免了移动终端上传数据量较大的图片资源给服务器的过程,节约了移动终端的网络带宽资源。
与上述方法对应,本发明还公开了一种保存网页完整内容的系统。图2为本发明所述保存网页完整内容的系统的一种组成示意图。参见图2,该系统包括客户端201和中转服务器202。
所述客户端201安装在移动终端上,包括第一模块、第二模块和第三模块;
所述第一模块用于获取浏览器所解析的当前所展示网页的DOM树;并获取该网页的所有非内联样式数据。所述移动终端上的浏览器根据网页的URL地址访问网页的发布服务器,从而获取网页信息并在本浏览器上展示该网页,当前所展示的网页的DOM树由该浏览器的内核解析得到,客户端再从该浏览器内核中获取当前所展示网页的DOM树。
所述第二模块用于遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中。
所述第三模块用于将所述经过转换处理的DOM树上传到中转服务器。
所述中转服务器202包括第四模块、第五模块、第六模块和第七模块。
所述第四模块用于接收客户端上传的所述经过转换处理的DOM树。
所述第五模块用于根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据,即根据所述图片标签中的URL地址从所述网页发布服务器抓取对应的图片数据,此处需要说明的是,不同的图片数据可以在同一个网页发布服务器上,也可以是在不同的网页发布服务器上。
所述第六模块用于按照云端服务器要求的格式,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件。
所述第七模块用于将所述转换后的格式文件上传到所述云端服务器保存。
所述用于保存网页的云端服务器可能不止一个,例如如图2所示有n个云端服务器,而且每种云端服务器所要求的格式也可能不一样,因此与所述方法对应,在所述系统的一种具体实施例中,所述客户端201的第三模块进一步用于将指定的云端服务器的标识上传到中转服务器202。
所述中转服务器202中的所述第四模块进一步用于:接收客户端上传的指定的云端服务器的标识;且所述第六模块具体用于:保存两种以上云端服务器的格式信息,例如图2实施例中需要保存n种云端服务器对应的格式信息,根据所述客户端上传的指定云端服务器的标识查找该云端服务器的格式信息,之后再按照该云端服务器的格式信息要求,将所述DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件,然后将该格式文件发送到客户端指定的云端服务器标识所对应的云端服务器上保存。
更为具体的,所述中转服务器202的所述第六模块具体用于:按照云端服务器所要求的标签和属性的格式,遍历所述DOM树中的标签和属性,将云端服务器不允许的标签和属性过滤掉,将云端服务器允许但需要替换的标签和属性按照云端服务器提供的标签和属性标识进行替换,将所述遍历处理后的DOM树转换为云端服务器指定格式的文本文件;将所述图片数据置入所述文本文件,将所述置入了图片数据的文本文件作为云端服务器所要求的格式文件;或者,将所述图片数据与所述文本文件打包成云端服务器所要求的格式文件。
另外,为了减少DOM树的数据量,以及方便云端服务器验证网页中的图片,所述中转服务器202中的第六模块还可以进一步用于:利用散列算法计算所述图片数据对应的散列标识,利用该散列标识替换所述DOM树中对应图片的原有标识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (13)

1.一种保存网页完整内容的方法,其特征在于,包括:
客户端获取浏览器所解析的当前所展示网页的文档对象模型DOM树;并获取该网页的所有非内联样式数据;
客户端遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中;
客户端将所述经过转换处理的DOM树上传到中转服务器;
中转服务器接收客户端上传的所述经过转换处理的DOM树;
中转服务器根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据;
中转服务器按照云端服务器要求的格式,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件;
中转服务器将所述转换后的格式文件上传到所述云端服务器保存。
2.根据权利要求1所述的方法,其特征在于,所述客户端获取所述网页的所有非内联样式数据,具体包括:
获取所述网页中style标签内所包含的非内联级联样式表CSS数据;
和/或,根据所述网页中link标签内指定的外部CSS文件地址,访问该外部CSS文件,从该外部CSS文件中获取非内联CSS数据。
3.根据权利要求1所述的方法,其特征在于,所述客户端遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中,具体包括:
客户端遍历所述DOM树中的每一个DOM元素,对于每一个元素,具体包括:
获取应用在该元素上的所有CSS属性名;获取每个CSS属性名的值;把最终获取到的CSS属性名及其值保存在该元素的一个自定义属性中。
4.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:所述客户端将指定的云端服务器的标识上传到中转服务器;所述中转服务器中保存至少一种云端服务器的格式信息,并进一步接收客户端上传的指定的云端服务器的标识;
所述中转服务器按照云端服务器要求的格式,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件,具体包括:中转服务器根据所述客户端上传的指定云端服务器的标识查找该云端服务器的格式信息,之后再按照该云端服务器的格式信息要求,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述中转服务器按照云端服务器要求的格式,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件,具体包括:
所述中转服务器按照云端服务器所要求的标签和属性的格式,遍历所述经过转换处理的DOM树中的标签和属性,将云端服务器不允许的标签和属性过滤掉,将云端服务器允许但需要替换的标签和属性按照云端服务器提供的标签和属性标识进行替换,将所述经过转换处理和遍历处理后的DOM树转换为云端服务器指定格式的文本文件;
将所述图片数据置入所述文本文件,将所述置入了图片数据的文本文件作为云端服务器所要求的格式文件;或者,将所述图片数据与所述文本文件打包成云端服务器所要求的格式文件。
6.根据权利要求5所述的方法,其特征在于,所述中转服务器按照云端服务器要求的格式,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件的过程中,进一步包括:中转服务器利用散列算法计算所述图片数据对应的散列标识,利用该散列标识替换所述经过转换处理的DOM树中对应图片的原有标识。
7.一种保存网页完整内容的系统,其特征在于,该系统包括客户端和中转服务器;
所述客户端包括第一模块、第二模块和第三模块;
所述第一模块用于获取浏览器所解析的当前所展示网页的文档对象模型DOM树;并获取该网页的所有非内联样式数据;
所述第二模块用于遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中;
所述第三模块用于将所述经过转换处理的DOM树上传到中转服务器;
所述中转服务器包括第四模块、第五模块、第六模块和第七模块;
所述第四模块用于接收客户端上传的所述经过转换处理的DOM树;
所述第五模块用于根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据;
所述第六模块用于按照云端服务器要求的格式,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件;
所述第七模块用于将所述转换后的格式文件上传到所述云端服务器保存。
8.一种客户端,其特征在于,该客户端包括第一模块、第二模块和第三模块;
所述第一模块用于获取浏览器所解析的当前所展示网页的DOM树;并获取该网页的所有非内联样式数据;
所述第二模块用于遍历所述DOM树,将所述非内联样式数据转换成所述DOM树中每个DOM元素的内联样式数据,并将转换后的内联样式数据保存在对应DOM元素的自定义属性中;
所述第三模块用于将所述经过转换处理的DOM树上传到中转服务器。
9.根据权利要求8所述的客户端,其特征在于,所述第三模块进一步用于将指定的云端服务器的标识上传到中转服务器。
10.一种中转服务器,其特征在于,该中转服务器包括第四模块、第五模块、第六模块和第七模块;
所述第四模块用于接收客户端上传的经过转换处理的DOM树;
所述第五模块用于根据所述经过转换处理的DOM树中的图片标签抓取网页中的图片数据;
所述第六模块用于按照云端服务器要求的格式,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件;
所述第七模块用于将所述转换后的格式文件上传到所述云端服务器保存。
11.根据权利要求10所述的中转服务器,其特征在于,
所述第四模块进一步用于:接收客户端上传的指定的云端服务器的标识;
所述第六模块具体用于:保存两种以上云端服务器的格式信息,根据所述客户端上传的指定云端服务器的标识查找该云端服务器的格式信息,之后再按照该云端服务器的格式信息要求,将所述经过转换处理的DOM树和抓取到的图片数据转换成该云端服务器所要求的格式文件。
12.根据权利要求10或11所述的中转服务器,其特征在于,所述第六模块具体用于:按照云端服务器所要求的标签和属性的格式,遍历所述经过转换处理的DOM树中的标签和属性,将云端服务器不允许的标签和属性过滤掉,将云端服务器允许但需要替换的标签和属性按照云端服务器提供的标签和属性标识进行替换,将所述经过转换处理和遍历处理后的DOM树转换为云端服务器指定格式的文本文件;将所述图片数据置入所述文本文件,将所述置入了图片数据的文本文件作为云端服务器所要求的格式文件;或者,将所述图片数据与所述文本文件打包成云端服务器所要求的格式文件。
13.根据权利要求12所述的中转服务器,其特征在于,所述第六模块进一步用于:利用散列算法计算所述图片数据对应的散列标识,利用该散列标识替换所述经过转换处理的DOM树中对应图片的原有标识。
CN201210578711.8A 2012-12-27 2012-12-27 保存网页完整内容的方法、系统及相应的客户端和服务器 Active CN103902571B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210578711.8A CN103902571B (zh) 2012-12-27 2012-12-27 保存网页完整内容的方法、系统及相应的客户端和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210578711.8A CN103902571B (zh) 2012-12-27 2012-12-27 保存网页完整内容的方法、系统及相应的客户端和服务器

Publications (2)

Publication Number Publication Date
CN103902571A CN103902571A (zh) 2014-07-02
CN103902571B true CN103902571B (zh) 2017-09-01

Family

ID=50993899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210578711.8A Active CN103902571B (zh) 2012-12-27 2012-12-27 保存网页完整内容的方法、系统及相应的客户端和服务器

Country Status (1)

Country Link
CN (1) CN103902571B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104267953A (zh) * 2014-09-27 2015-01-07 昆明钢铁集团有限责任公司 一种基于浏览器的Word试题导入控件与方法
CN105808254B (zh) * 2016-03-07 2019-01-15 四川长虹电器股份有限公司 一种把任意块元素转为侧滑按钮的方法
CN106055575A (zh) * 2016-05-19 2016-10-26 天脉聚源(北京)传媒科技有限公司 一种网站页面优化加载的方法及装置
CN106407679B (zh) * 2016-09-13 2019-03-26 上海市徐汇区中心医院 移动互联跨平台跨设备远程诊疗系统
CN106506618A (zh) * 2016-10-24 2017-03-15 北京奇虎科技有限公司 一种信息分享方法、装置及移动终端
CN108829828B (zh) * 2018-06-15 2022-01-21 卓米私人有限公司 一种网页显示方法、装置、电子设备及可读存储介质
CN109299423A (zh) * 2018-10-30 2019-02-01 中译语通科技股份有限公司 一种获取网络数据的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722489A (zh) * 2011-03-30 2012-10-10 株式会社理光 从网页中抽取对象标识符的系统及方法
CN102789474A (zh) * 2012-04-12 2012-11-21 北京京东世纪贸易有限公司 处理网页数据的方法和装置
CN102999578A (zh) * 2012-11-13 2013-03-27 北京奇虎科技有限公司 页面元素处理方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722489A (zh) * 2011-03-30 2012-10-10 株式会社理光 从网页中抽取对象标识符的系统及方法
CN102789474A (zh) * 2012-04-12 2012-11-21 北京京东世纪贸易有限公司 处理网页数据的方法和装置
CN102999578A (zh) * 2012-11-13 2013-03-27 北京奇虎科技有限公司 页面元素处理方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"移动终端网页转换系统的设计与实现";邱鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20121015;全文 *

Also Published As

Publication number Publication date
CN103902571A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
CN103902571B (zh) 保存网页完整内容的方法、系统及相应的客户端和服务器
CN103605688B (zh) 一种网页广告的拦截方法、装置和浏览器
US8397212B2 (en) Module hosting and content generation platform
US9569557B2 (en) Cache management in HTML eReading application
US20140006934A1 (en) Method for rearranging web page
CN102985921B (zh) 在具有电子资源数据库的客户端装置中高速缓存电子文档资源
US20140379841A1 (en) Web page content loading control method and device
CN104217037B (zh) 一种在移动终端中显示网页的方法及装置
CN111143729B (zh) 基于单页面应用的优化方法、装置、设备及存储介质
CN103546498B (zh) 一种为移动终端提供访问网页的方法与设备
CN105205080B (zh) 冗余文件清理方法、装置和系统
US20090249188A1 (en) Method for adaptive transcription of web pages
CN102402518A (zh) 一种访问网页的方法及装置
CN102663126A (zh) 一种在移动终端中显示网页的方法及装置
GB2347329A (en) Converting electronic documents into a format suitable for a wireless device
CN103593354A (zh) 一种过滤网络页面广告的方法、装置、服务器及系统
US20110209046A1 (en) Optimizing web content display on an electronic mobile reader
CN101526953A (zh) Www转换技术
CN102346738A (zh) 客制化网页处理装置及方法
WO2022048141A1 (zh) 一种图像处理方法及装置、计算机可读存储介质
CN104899212B (zh) 网页展示方法、服务器及系统
CN107066496A (zh) 一种兼容不同浏览器和终端设备的页面访问方法
Krause Introducing Web Development
CN108021662A (zh) 一种移动终端的网页图片显示方法
CN106575303B (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