CN109271092A - 网页快照保存方法 - Google Patents
网页快照保存方法 Download PDFInfo
- Publication number
- CN109271092A CN109271092A CN201811113487.9A CN201811113487A CN109271092A CN 109271092 A CN109271092 A CN 109271092A CN 201811113487 A CN201811113487 A CN 201811113487A CN 109271092 A CN109271092 A CN 109271092A
- Authority
- CN
- China
- Prior art keywords
- picture
- snapshot
- webpage
- array
- snapshots
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
Abstract
本申请涉及一种网页快照保存方法,该方法包括:接收到URL请求后,打开网页;从页面顶部以第一滚动速度滚动至页面底部,加载全部网页;光标移动至页面顶部以第二滚动速度,滚动长度h进行重新滚动,每次滚动进行快照并将快照图片保存至图片数组;将图片数组中快照图片进行拼接,完成保存网页快照操作。本申请中克服传统快照手段不能保存超长网页快照的问题,从而实现对超长网页内容进行固化,方便用户维护网站。
Description
技术领域
本申请涉及计算机网络技术领域,尤其是一种网页快照保存方法。
背景技术
网页快照是指搜索引擎在收录网页时,对网页进行纯文本备份,存在直接的服务器缓存里,当用户在搜索引擎中点击“网页快照”链接时,搜索引擎将当时所抓取并保存的网页内容展现在页面中。因此,网页快照为人们保存与浏览网页提供极大便利。相关技术中,使用快照工具webshot实现网页动态加载,并完成完整快照,通过浏览器打开网页方式,对于短网页能正常加载与打开,但不支持超长网页快照。而超长网页往往是用户需要快照的网页,因此,如何设计一种可以保存超长网页快照的方法成为相关领域技术人员重点解决的问题。
发明内容
为至少在一定程度上克服传统快照手段不能保存的超长网页快照的问题,本申请提供一种网页快照保存方法,包括:
接收到URL请求后,打开网页;
从页面顶部以第一滚动速度滚动至页面底部,以加载全部网页;
光标移动至页面顶部以第二滚动速度,滚动长度h进行重新滚动,每次滚动进行快照并将快照图片保存至图片数组;
将图片数组中快照图片进行拼接,完成保存网页快照操作。
进一步的,所述打开网页,包括:
预先设置chrome浏览器参数;
根据所述参数声明chromedirver;
打开chrome浏览器,模拟真实浏览器打开网页。
进一步的,还包括:通过selenium加载chrome的方式打开chrome浏览器,模拟真实浏览器打开网页。
进一步的,所述第一滚动速度小于所述第二滚动速度。
进一步的,所述滚动长度h,计算方法包括:
h=上一周期滚动到达位置h1+图片高度h2-图片头部高度h3-图片底部高度h4;
所述图片头部高度h3、图片底部高度h4为预设值;所述图片高度h2通过第一JavaScript获取。
进一步的,所述每次滚动进行快照并将快照图片保存至图片数组,包括:
利用第二JavaScript获取网页最大长度;
根据长度不同,确定缩放比例;
将所述快照图片按所述缩放比例进行缩放后保存至图片数组。
进一步的,所述利用第二JavaScript获取网页最大长度,包括:重复多次从页面顶部以第一滚动速度滚动至页面底部,以获取网页最大长度。
进一步的,将快照图片保存至图片数组包括:用流形式读取快照图片赋值给图片数组,并删除快照图片。
进一步的,还包括:完成图片数组中快照图片拼接得到全快照图片,在所述全快照图片加上水印时间戳。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请中,通过将光标移动至页面顶部以第二滚动速度,滚动长度h进行重新滚动,每次滚动进行快照并将快照图片保存至图片数组;将图片数组中快照图片进行拼接,完成保存网页快照操作,克服传统快照手段不能保存超长网页快照的问题,以方便用户快速加载、浏览网页。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个实施例提供的一种网页快照保存方法的结构示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
图1是本申请一个实施例提供的一种网页快照保存方法的结构示意图。
如图1所示,本实施例的方法包括:
S1:接收到URL请求后,打开网页;
S2:从页面顶部以第一滚动速度滚动至页面底部,以加载全部网页;
S3:光标移动至页面顶部以第二滚动速度,滚动长度h进行重新滚动,每次滚动进行快照并将快照图片保存至图片数组;
S4:将图片数组中快照图片进行拼接,完成保存网页快照操作。
作为本发明可选的一种实现方式,所述打开网页,包括:
预先设置chrome(谷歌)浏览器参数;
根据所述参数声明chromedirver(谷歌浏览器驱动);
打开chrome浏览器,模拟真实浏览器打开网页。
因为有些网页需要动态加载,因此模拟真实浏览器打开网页进行滚动可以完成网页动态加载。
作为本发明可选的一种实现方式,还包括:通过selenium加载chrome的方式打开chrome浏览器,模拟真实浏览器打开网页。Selenium是一个用于Web应用程序测试的工具,WebDriver是selenium中的一个类,根据所述参数声明ChromeDriver对象,然后向上造型成WebDriver类;调用WebDriver类的方法打开网页,这个过程直观的表现就是自动打开了一个chrome浏览器,并输入网址,打开网页。由于selenium兼容性强,能够加载的网页长度长,采用selenium加载chrome的方式,既能完成动态加载网页,也能支持超长网页快照。
作为本发明可选的一种实现方式,所述第一滚动速度小于所述第二滚动速度。
例如第一滚动速度为每次滚动1500像素,每次滚动停顿500ms,以预先加载网页中的图片内容;第二滚动速度为每次滚动1500像素,停顿100ms。
通过以第一滚动速度快速加载全部网页,以获取整个网页总长度,从而根据网页总长度确定缩放比例,以第二滚动速度浏览网页,并进行快照,以所述缩放比例将快照图片进行缩放之后存储在图片数组中,可以减少系统内存溢出,减少tomcat(运行JAVA的网络服务器)堆内存溢出的可能性。
所述光标移动至页面顶部包括:使用window.scrollTo(0,0)JavaScript方法将网页滚动到顶部,所述window.scrollTo(0,0)JavaScript方法为现有技术,在此不详细介绍。
作为本发明可选的一种实现方式,所述滚动长度h,计算方法包括:
h=上一周期滚动到达位置h1+图片高度h2-图片头部高度h3-图片底部高度h4;
所述图片头部高度h3、图片底部高度h4为预设值例如均为100px;所述图片高度h2通过第一JavaScript获取。JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言。通过所述第一JavaScript获取图片高度为现有技术,在此不详细叙述。
很多网页头都是锁定在网页的最上方,即使滚动位置也不会变,如果不去掉,快照会受遮挡,影响快照效果,因此进行快照的时候,根据快照图片高度,头尾各减去100px,有利于无缝拼接。
作为本发明可选的一种实现方式,所述每次滚动进行快照并将快照图片保存至图片数组,包括:
利用第二JavaScript获取网页最大长度;
根据长度不同,确定缩放比例;
将所述快照图片按所述缩放比例进行缩放后保存至图片数组。
作为本发明可选的一种实现方式,所述利用第二JavaScript获取网页最大长度,包括:重复多次从页面顶部以第一滚动速度滚动至页面底部,以获取到网页最大长度。由于有些网页是要边滚动边加载的,因此每次从页面顶部以第一滚动速度滚动至页面底部时网页高度也会不同。
判断网页是否滚动到底部,实现方法b包括:声明最大高度为maxH,当前滚动到的高度为scrollH,记录次数变量count=0;
步骤1:每次循环,先用第二JavaScript获取网页最大高度,给maxH重新赋值,然后都对scrollH+1500;
步骤2:滚动的时候比较scrollH和maxH,按较小值滚动;
步骤3:如果计算后的scrollH>maxH,那么count+1,否则count=0即赋值为0;
重复步骤1、2、3。如果count值>3则退出循环,表示已经滚动到底部,此时网页达到最大高度。通过所述第二JavaScript获取图片高度为现有技术,在此不详细叙述。
通过多次加载页面获取页面长度确保获取的页最长长度更加准确。
作为本发明可选的一种实现方式,将快照图片保存至图片数组包括:用流形式读取快照图片赋值给图片数组,并删除快照图片。
图片通过流的形式赋值给图片数组对象,以流的形式赋值给图片数组对象,有利于在拼接图片时提高图片处理速度,之后删除快照图片,避免占用硬盘内存。
作为本发明可选的一种实现方式,还包括:完成图片数组中快照图片拼接得到全快照图片,在所述全快照图片加上水印时间戳。
通过加上水印时间戳,可以保证全快照图片的唯一性,方便后续查询、获取。
本实施例中,通过将光标移动至页面顶部以第二滚动速度,滚动长度h进行重新滚动,每次滚动进行快照并将快照图片保存至图片数组;将图片数组中快照图片进行拼接,完成保存网页快照操作,克服传统快照手段不能保存超长网页快照的问题,从而实现对超长网页内容进行固化,方便用户维护网站。进一步的,通过快照图片的缩放,既不影响内存存储,又可以实现长网页的全部保存。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
需要说明的是,本发明不局限于上述最佳实施方式,本领域技术人员在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。
Claims (9)
1.一种保存网页快照方法,其特征在于,包括:
接收到URL请求后,打开网页;
从页面顶部以第一滚动速度滚动至页面底部,加载全部网页;
光标移动至页面顶部以第二滚动速度,滚动长度h进行重新滚动,每次滚动进行快照并将快照图片保存至图片数组;
将图片数组中快照图片进行拼接,完成保存网页快照操作。
2.根据权利要求1所述的方法,其特征在于,所述打开网页,包括:
预先设置chrome浏览器参数;
根据所述参数声明chromedirver;
打开chrome浏览器,模拟真实浏览器打开网页。
3.根据权利要求2所述的方法,其特征在于,还包括:通过selenium加载chrome的方式打开chrome浏览器,模拟真实浏览器打开网页。
4.根据权利要求1所述的方法,其特征在于,所述第一滚动速度小于所述第二滚动速度。
5.根据权利要求1所述的方法,其特征在于,所述滚动长度h,计算方法包括:
h=上一周期滚动到达位置h1+图片高度h2-图片头部高度h3-图片底部高度h4;
所述图片头部高度h3、图片底部高度h4为预设值;所述图片高度h2通过第一JavaScript获取。
6.根据权利要求1所述的方法,其特征在于,所述每次滚动进行快照并将快照图片保存至图片数组,包括:
利用第二JavaScript获取网页最大长度;
根据长度不同,确定缩放比例;
将所述快照图片按所述缩放比例进行缩放后保存至图片数组。
7.根据权利要求6所述的方法,其特征在于,所述利用第二JavaScript获取网页最大长度,包括:重复多次从页面顶部以第一滚动速度滚动至页面底部,以获取网页最大长度。
8.根据权利要求1所述的方法,其特征在于,将快照图片保存至图片数组包括:用流形式读取快照图片赋值给图片数组,并删除快照图片。
9.根据权利要求1所述的方法,其特征在于,还包括:完成图片数组中快照图片拼接得到全快照图片,在所述全快照图片加上水印时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811113487.9A CN109271092A (zh) | 2018-09-21 | 2018-09-21 | 网页快照保存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811113487.9A CN109271092A (zh) | 2018-09-21 | 2018-09-21 | 网页快照保存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271092A true CN109271092A (zh) | 2019-01-25 |
Family
ID=65197896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811113487.9A Pending CN109271092A (zh) | 2018-09-21 | 2018-09-21 | 网页快照保存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271092A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457623A (zh) * | 2019-06-26 | 2019-11-15 | 网宿科技股份有限公司 | 网页帧的获取方法、服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021871A (zh) * | 2007-01-11 | 2007-08-22 | 深圳市光芒科技有限公司 | 网页内容块智能截取方法 |
JP5455714B2 (ja) * | 2010-03-09 | 2014-03-26 | デザインメイド カンパニー,リミテッド | ウェブページキャプチャー画面の印刷方法 |
CN104133683A (zh) * | 2014-07-31 | 2014-11-05 | 上海二三四五网络科技股份有限公司 | 一种截取屏幕图片的方法及装置 |
CN105739873A (zh) * | 2016-03-10 | 2016-07-06 | 努比亚技术有限公司 | 一种截屏方法及终端 |
-
2018
- 2018-09-21 CN CN201811113487.9A patent/CN109271092A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021871A (zh) * | 2007-01-11 | 2007-08-22 | 深圳市光芒科技有限公司 | 网页内容块智能截取方法 |
JP5455714B2 (ja) * | 2010-03-09 | 2014-03-26 | デザインメイド カンパニー,リミテッド | ウェブページキャプチャー画面の印刷方法 |
CN104133683A (zh) * | 2014-07-31 | 2014-11-05 | 上海二三四五网络科技股份有限公司 | 一种截取屏幕图片的方法及装置 |
CN105739873A (zh) * | 2016-03-10 | 2016-07-06 | 努比亚技术有限公司 | 一种截屏方法及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457623A (zh) * | 2019-06-26 | 2019-11-15 | 网宿科技股份有限公司 | 网页帧的获取方法、服务器及存储介质 |
WO2020258479A1 (zh) * | 2019-06-26 | 2020-12-30 | 网宿科技股份有限公司 | 网页帧的获取方法、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095280B (zh) | 一种浏览器缓存方法和装置 | |
CN110287432A (zh) | 网络信息处理方法、装置和电子设备 | |
US8386955B1 (en) | User-optimized content for web browsing windows | |
US9916285B2 (en) | Generating a preview of a web page for a mobile terminal | |
US9501581B2 (en) | Method and apparatus for webpage reading based on mobile terminal | |
CN105242817B (zh) | 页面元素实时突出显示的方法及装置 | |
US9612715B2 (en) | Real-time preview of uniform resource identifier addressable dynamic content | |
CN107885645B (zh) | 计算页面首屏渲染时长的方法、装置及电子设备 | |
DE102013205970A1 (de) | Näherungsweises Berechnen der letzten Leseposition in elektronischen Dokumenten | |
CN103856507B (zh) | 网络动态图片的静态显示方法和装置 | |
CN110309461B (zh) | 页面展现方法和装置 | |
CN105988793A (zh) | 用于屏幕显示设备的图像展示方法及装置 | |
WO2016107325A1 (zh) | 基于移动终端的页面资源加载方法及装置 | |
US9679075B1 (en) | Efficient delivery of animated image files | |
CN109918597A (zh) | 网页预加载方法和装置 | |
CN103455492B (zh) | 一种搜索网页的方法和装置 | |
Díaz et al. | End-user browser-side modification of web pages | |
US9824151B2 (en) | Providing a portion of requested data based upon historical user interaction with the data | |
CN109271092A (zh) | 网页快照保存方法 | |
CN108021662A (zh) | 一种移动终端的网页图片显示方法 | |
WO2017148349A1 (zh) | 一种浏览网页中缩略图的方法及装置 | |
CN109522497A (zh) | 一种新闻网页页面的适配显示方法及装置 | |
WO2017092455A1 (zh) | 一种移动终端网页浏览方法及移动终端 | |
CN107291506A (zh) | 一种更新app界面的方法和装置 | |
CN106874387B (zh) | 一种自适应html滚屏展示实时信息的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190125 |
|
RJ01 | Rejection of invention patent application after publication |