CN113656739A - 网站数据的保存方法及装置 - Google Patents
网站数据的保存方法及装置 Download PDFInfo
- Publication number
- CN113656739A CN113656739A CN202111032973.XA CN202111032973A CN113656739A CN 113656739 A CN113656739 A CN 113656739A CN 202111032973 A CN202111032973 A CN 202111032973A CN 113656739 A CN113656739 A CN 113656739A
- Authority
- CN
- China
- Prior art keywords
- page
- website
- resource
- data
- information
- 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 71
- 238000013500 data storage Methods 0.000 title claims description 5
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000009877 rendering Methods 0.000 claims abstract description 29
- 230000003068 static effect Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 18
- 230000002452 interceptive effect Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004088 simulation Methods 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 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/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- 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
技术领域
本发明涉及通信技术,尤其涉及一种网站数据的保存方法及装置。
背景技术
网站能够为用户提供丰富的网络数据内容,从而为用户的数据访问提供了便利。但是,由于网站必须在联网状态下方可访问,并且,部分网站还会设置访问权限,用户必须通过指定的内网进行访问,一旦脱离内网环境则无法访问。由此可见,如何能够对网站数据进行保存,以使其在断网情况下或缺乏内网权限的情况下灵活访问成为亟待解决的技术难题。
在相关技术中,通过网页保存方式实现网站数据的保存。例如,浏览器自带的保存网页功能能够将当前网页保存成一个包含HTML(超文本标记语言,HyperText MarkupLanguage)文件和其他资源(图片、样式文件、脚本文件)的文件夹,并将HTML文件中的其他资源路径修改为对应本地文件夹的资源路径,该方法保存的网页在断网条件下或外网环境中打开时,无法获取到需经内网获取的数据,导致页面渲染失败或不完整,而且手动保存所有网页不仅繁琐且访问时页面也无法正常跳转。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种网站数据的保存方法及装置。
根据本发明实施例的一个方面,提供了一种网站数据的保存方法,包括:
根据目标网站的登录信息,获取与所述目标网站的首页页面相关联的第一页面资源;
对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包;
获取所述目标网站中包含的页面链接,根据所述页面链接获取与所述目标网站的非首页页面相关联的第二页面资源;
对所述第二页面资源进行处理,根据第二处理结果生成第二页面访问包;
根据所述第一页面访问包以及所述第二页面访问包,生成用于保存网站数据的网站数据访问包。
根据本发明实施例的又一个方面,提供了一种网站数据的访问方法,包括:通过由上述的方法生成的网站数据访问包,访问网站数据。
根据本发明实施例的又一个方面,提供了一种网站数据的保存装置,包括:
第一获取模块,适于根据目标网站的登录信息,获取与所述目标网站的首页页面相关联的第一页面资源;
第一处理模块,适于对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包;
第二获取模块,适于获取所述目标网站中包含的页面链接,根据所述页面链接获取与所述目标网站的非首页页面相关联的第二页面资源;
第二处理模块,适于对所述第二页面资源进行处理,根据第二处理结果生成第二页面访问包;
生成模块,适于根据所述第一页面访问包以及所述第二页面访问包,生成用于保存网站数据的网站数据访问包。
根据本发明实施例的又一个方面,提供了一种网站数据的访问装置,包括:
访问模块,适于通过由上述的方法生成的网站数据访问包,访问网站数据。
根据本发明实施例的又一个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述网站数据的保存方法或访问方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
根据本发明实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述网站数据的保存方法或访问方法。
在本发明实施例提供的网站数据的保存方法及装置中,能够根据目标网站的登录信息,获取与首页页面相关联的第一页面资源,从而生成第一页面访问包;并根据目标网站中包含的页面链接获取与目标网站的非首页页面相关联的第二页面资源,从而生成第二页面访问包,最终得到用于保存网站数据的网站数据访问包。该方式能够自动获取目标网站的首页以及非首页的各类资源,并保存为可离线访问的访问包。该方式保存的网页在断网条件下或外网环境中打开时,能够通过访问包获取到需经内网获取的数据,从而实现页面完整渲染。该方式无需手动保存所有网页,操作便利,且访问时页面也能够正常跳转。
附图说明
图1示出了本发明实施例一提供的网站数据的保存方法的流程图;
图2示出了示出了网站访问包的结构示意图;
图3示出了本发明又一实施例提供的网站数据的保存装置的结构图;
图4为本发明又一实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明提供的服务器进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本发明透彻和完整,并将使本领域技术人员充分理解本发明的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本发明。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本发明的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本发明的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1示出了本发明一个实施例提供的网站数据的保存方法的流程图。如图1所示,该方法包括以下步骤:
步骤S110:根据目标网站的登录信息,获取与目标网站的首页页面相关联的第一页面资源。
其中,目标网站的登录信息包括:目标网站的网站地址、登录权限信息(如访问账号、密码等)。与目标网站的首页页面相关联的第一页面资源是指:目标网站的首页页面在加载过程中所需的各类资源,包括图片、数据、表格、页面元素等各种类型。
具体实施时,根据目标网站的首页地址信息、账户信息以及内网地址信息,获取目标网站的首页页面加载过程中所需的HTTP(超文本传输协议,Hyper Text TransferProtoco l)请求信息以及加载完成后的网页渲染信息;根据HTTP请求信息以及加载完成后的网页渲染信息,获取与目标网站的首页页面相关联的第一页面资源。
具体的,在根据HTTP请求信息以及加载完成后的网页渲染信息,获取与目标网站的首页页面相关联的第一页面资源时,通过以下方式实现:根据HTTP请求信息中包含的请求头信息和响应头信息判断与HTTP请求信息对应的页面资源的类型;分别获取各种类型的页面资源,得到与目标网站的首页页面相关联的第一页面资源;其中,页面资源的类型包括:静态文件类型、数据请求类型、以及渲染页面类型。
步骤S120:对第一页面资源进行处理,根据第一处理结果生成第一页面访问包。
具体的,分别针对各种类型的第一页面资源进行处理,以得到与各种类型的资源对应的处理后的数据,从而生成第一页面访问包。
针对第一页面访问包中属于静态文件类型的静态文件资源,将静态文件资源中的链接地址替换为与第一页面访问包相对应的本地存储地址。由于静态文件资源通常需要借助其中包含的链接地址进行访问,因此,通过将静态文件资源中的链接地址替换为与第一页面访问包相对应的本地存储地址,能够在离线状态下通过本地存储的静态文件资源进行网页渲染。
针对第一页面访问包中属于数据请求类型的数据请求资源,通过模拟数据生成器生成与数据请求资源相对应的代码信息;将代码信息插入第一页面访问包中包含的HTML文件中;其中,代码信息用于拦截访问请求并模拟响应访问请求对应的请求结果。具体的,数据请求资源为动态请求类型的资源,为了在离线状态下实现该类资源的访问,需要通过模拟数据生成器生成与数据请求资源相对应的代码信息,并将该代码信息插入第一页面访问包中包含的HTML(超文本标记语言,HyperText Markup Language)文件中;该代码信息能够拦截访问请求并模拟响应访问请求对应的请求结果。换言之,当接收到针对该数据请求资源的访问请求时,直接通过该代码信息模拟返回请求结果,从而实现动态请求的离线访问。
针对第一页面访问包中属于渲染页面类型的渲染页面资源,通过文本匹配算法获取渲染页面资源中包含的交互标签,通过指令模拟针对交互标签触发的交互操作。具体的,通过指令模拟针对交互标签触发的交互操作,能够使用户在离线状态下通过指令模拟方式控制交互标签执行交互操作,从而实现渲染页面资源的目的。
步骤S130:获取目标网站中包含的页面链接,根据页面链接获取与目标网站的非首页页面相关联的第二页面资源。
其中,目标网站中包含的页面链接是指:包含在目标网站中的超链接等能够链接至其他二级页面甚至三级页面的页面元素。根据页面链接能够获取与目标网站的非首页页面相关联的第二页面资源,其中,非首页页面是指:除首页之外的二级页面、三级页面甚至更低层级的页面。总之,凡是能够通过目标网站中的页面链接进行访问的页面均属于目标网站的非首页页面。相应的,第二页面资源泛指非首页页面中的各类资源,包括图片、数据、表格、页面元素等各种类型。
步骤S140:对第二页面资源进行处理,根据第二处理结果生成第二页面访问包。
其中,针对第二页面资源进行处理,以生成第二页面访问包的过程与步骤S120中提到的对第一页面资源进行处理,根据第一处理结果生成第一页面访问包的过程类似,此处不再赘述。
步骤S150:根据第一页面访问包以及第二页面访问包,生成用于保存网站数据的网站数据访问包。
具体的,整合第一页面访问包以及第二页面访问包,生成用于保存网站数据的网站数据访问包。其中,网站数据访问包中包含了第一页面访问包以及第二页面访问包的内容,从而能够在离线状态下完整渲染目标网站的全部内容。
另外,上述的步骤S110中,当目标网站为内网网站时,在根据HTTP请求信息以及加载完成后的网页渲染信息,获取与目标网站的首页页面相关联的第一页面资源时,还可以进一步根据HTTP请求信息判断对应的页面资源是否属于内网资源;若是,则将该HTTP请求信息对应的页面资源确定为与目标网站的首页页面相关联的第一页面资源;若否,则无需获取该页面资源。通过判断页面资源是否为内网资源,能够避免获取外网可访问的资源,从而降低访问包中的冗余数据。
由此可见,该方式能够自动获取目标网站的首页以及非首页的各类资源,并保存为可离线访问的访问包。该方式保存的网页在断网条件下或外网环境中打开时,能够通过访问包获取到需经内网获取的数据,从而实现的页面完整渲染。该方式无需手动保存所有网页,操作便利,且访问时页面也能够正常跳转。
为了便于理解,下面以一个具体示例为例,详细描述本实施例中的实现方式:
本示例旨在提供一种网站自动保存方法,通过输入网站首页地址和相关信息,获取该网站的相关资源,根据相关资源生成网站的页面访问包并搜索获取本网站的其它页面链接,针对其它页面链接重复执行上述步骤,从而整合所有页面的访问包以生成该网站的访问包。本发明主要针对内网网站无法直接在外网展示的情况。本示例主要针对目标网站为内网网站的情况进行说明。目前,出于安全考虑,外网用户无法直接访问内网网站及平台,其中,内网为企业内部的局域网,外网是面向大众开放的互联网。但是,在对外交流等情况下经常需要在外网环境中展示内网平台。如果通过截图或者录视频等方式,则无法真实的以网页形式操作展示。如果通过常规的网页保存方式,例如浏览器自带的保存网页功能能够将当前网页保存成一个包含HTML文件和其他资源(图片、样式文件、脚本文件)的文件夹,并将HTML文件中的其他资源路径修改为对应于本地文件夹的资源路径,但是,该方法保存的网页在外网环境打开时,当用户触发针对内网的网络请求时则无法获取到数据,从而导致页面渲染失败或不完整,而且手动保存所有网页的方式不仅操作繁琐且访问时页面也无法正常跳转。
由此可见,上述常规的网页保存方式至少存在如下缺陷:外网无法直接访问内网平台;截图及录屏等展示方式缺乏对平台操作的真实感;一般的网页保存方法需要手动操作、且容易网页不完整(内网资源无法获取)、且有冗余文件(外网可以直接访问的资源也被保存)。
为了解决上述问题,本示例提供了一种针对内网网站的保存方法,用于自动生成可以在外网环境直接用浏览器进行访问的网站本地访问包。其中,内网是指一般的企业内部的局域网,通常既能访问内网资源又能正常访问外网(也即互联网)资源;本示例所指的内网网站部署在内网环境,既请求内网资源又请求外网资源,只能在企业内网环境正常访问。
本示例的执行主体可以为具有计算或处理能力的设备,如浏览器中的插件或者浏览器所在终端中的系统软件,或者,还可以为包含无头浏览器的装置。例如,在一种具体实现方式中,本示例的执行主体为网站保存装置,该网站保存装置包括:网页生成模块以及网页整合模块。其中,网页生成模块进一步包括:资源获取模块以及资源处理模块。其中,资源获取模块具体用于获取静态资源、数据请求以及渲染后的页面等内容,相应的,资源处理模块具体用于实现静态资源处理、数据请求处理以及渲染后页面的处理。另外,资源获取模块能够借助无头浏览器实现资源获取。其中,无头浏览器是一种没有用户图形界面的浏览器,通过编程或命令行界面来控制。
具体的,本示例包括以下步骤:
步骤一:网页资源获取。
其中,整个网站的自动保存过程需要在内网环境中执行。具体的,在资源获取环境中,需执行以下操作:
首先,输入网站首页地址,即URL(un iform resource locator,统一资源定位符)、账号密码和内网I P(I nternet Protoco l,网际互连协议)列表后,启动网页生成模块中的资源获取模块。
然后,通过指令和API(App l icat ion Programmi ng I nterface,应用程序接口)接口方式等获取页面加载时的所有HTTP请求信息以及加载完成后的网页渲染信息。其中HTTP请求信息包括:请求头信息、响应头信息、响应结果等。
接下来,通过HTTP请求信息判断资源属于内网还是外网。如果请求的是内网地址则继续后续操作,否则过滤掉不再处理,以防止因存储外网数据而导致的数据冗余问题。
最后,通过HTTP请求信息判断资源类别,具体可以通过请求头信息和响应头信息综合判断请求资源的类别。具体的,请求资源的类别包括:静态文件类型、数据请求类型、以及渲染页面类型。
其中,针对静态文件类型的静态文件资源,可通过请求信息判断请求资源类型,例如,请求地址为*.css的为CSS(Cascad ing Sty le Sheets,层叠样式表)文件,*.js的为JavaScr i pt文件……静态文件资源也可结合响应头content-type(内容类型)判断请求属于什么类型,例如:静态文件资源对应的响应头及其对应的资源格式之间具有下述对应关系:
text/html:HTML格式
text/p l ain:纯文本格式
image/gif:gif图片格式
image/jpeg:jpg图片格式
image/png:png图片格式
……
另外,数据请求类型的数据请求资源的响应头及其对应的资源格式之间具有下述对应关系:
app l icat ion/json:JSON数据
app l icat ion/x-www-form-ur lencoded:表单数据
……
最后,共获取到如下三类资源:
第一类为静态文件资源,一般包括HTML文件资源、CSS文件资源、JavaScr ipt文件资源、媒体资源(图片、音频、视频)等,以各自的文件形式(.html\.css\.js\.jpg等)暂存。
第二类为数据请求资源,如加载过程中的数据请求,具体包括请求地址URL、请求结果响应数据等。
第三类为渲染后的页面,如加载完成展示在浏览器端的页面信息等。
步骤二:网页资源处理
在针对获取到的资源进行处理时,主要包括以下三类资源的处理过程:
(1)静态资源处理
通过文本搜索匹配算法将所有静态资源链接通过一定的规则匹配到对应的HTML、CSS、JavaScr ipt文件中,并将该链接所有对应文件中的地址替换为本地存储路径的相对地址。
下面描述匹配规则示例:
假设一个.css文件链接为http://10.100.26.200:8080/stat ic/index.css,对应HTML文件中的<l ink href="./stat ic/css/index.css"re l="sty lesheet">,则替换为<l ink href="./[本地静态文件夹的路径]/index.css"re l="sty lesheet">。
假设一个.js文件链接为http://10.100.26.200:8080/stat ic/index.js,对应HTML文件中的<scr ipt type="text/javascr ipt"src="./stat ic/index.js"></script>,则替换为<scr ipt type="text/javascr ipt"src="./[本地静态文件夹的路径]/index.js"></scr ipt>。
假设一个图片请求链接为http://10.100.26.200:8080/stat ic/img/logo.png,对应HTML文件中的<img src="./stat ic/img/logo.png">,则替换为<img src="./[本地静态文件夹的路径]/logo.png">。
具体实施时,可通过Sunday算法进行匹配操作。其中,Sunday算法是一种快速的线性字符串模式匹配算法。在匹配过程中,模式串首先按从左向右进行逐个匹配,当发现有不匹配的字符时,当前匹配的位置就跳过尽可能大的步长,再进行下一轮的匹配,从而达到提高匹配效率的目的。当Sunday算法匹配失败时,判断主串中参加匹配的最末位字符的下一位字符是否在模式串中出现。如果未出现,跳转步长为模式串长度加1;如果出现,其跳转步长为模式串中最右端的该字符到末尾的距离加1。
在上述匹配过程中,首先,读取一个静态资源文件(如HTML、CSS、JavaScr ipt)的文本;然后,通过Sunday算法对一个静态资源链接的资源名称进行精准匹配,并通过一定规则过滤掉不匹配结果。当匹配成功时,替换静态资源文件中的链接地址,直至针对各个静态资源文件中的全部静态资源链接处理完毕。
匹配处理后,生成该网页的临时访问包(即第一页面访问包),文件结构包括处理后的HTML文件和放在文件夹下的其他相关静态资源文件。例如,在得到的第一页面访问包中包含网页对应的HTML文件,以及各类相关静态资源文件,如.css文件、.js文件以及.png文件等。
(2)动态请求处理
其中,动态请求主要是指数据请求类型的数据请求资源。具体的,借助前端的模拟数据生成器,根据数据请求信息自动生成代码信息并插入网页访问包的HTML文件中,使得可以拦截响应URL(Un iform Resource Locator,统一资源定位符)请求并模拟数据响应从而修改请求对应的请求结果。
比如,Mock.js作为一款前端开发中拦截Ajax请求再生成随机数据响应的工具,可以用来模拟服务器响应,优点是非常简单方便,无侵入性,基本覆盖常用的接口数据类型。
(3)渲染后的页面处理
其中,渲染后的页面主要是指渲染页面类型的渲染页面资源。经上述过程处理后的网页访问包已经能在浏览器中完整打开该网页页面,但是无法进行一些交互操作,比如点击按钮进入新的页面或者请求新的数据重新渲染页面,所以,需要对渲染后包含完整信息的页面进行处理,以获取新的页面链接并拦截新的请求。
具体的,在渲染后的页面中通过文本匹配算法获取<a>、<button>、<input>、<img>等通常用于交互的交互标签,通过指令模拟对这些标签的点击或输入等操作,从而拦截响应的请求。如果是该网站的其他页面跳转链接(非外网连接)则保存到待处理页面链接地址列表;如果是请求链接则通过上述步骤生成代码拦截模拟数据响应。
由此可见,最终处理结果包括两部分:第一部分为该网页的本地访问包(也叫网站访问包),是经过上述步骤处理后的最终访问包。第二部分为待处理页面链接地址列表,是处理完成后的最终列表。图2示出了网站访问包的结构示意图。
步骤三:资源整合处理
首先,根据待处理页面链接地址列表依次处理该网站的其它页面,处理过程与上文提到的过程类似,从而获得新的页面访问包和待处理页面链接地址。然后,整合所有页面,全部循环结束后,得到该网站的所有网页的本地访问包,最终输出网站的本地访问包,目录结构如图2所示。由此可见,通过上述过程,不仅能够针对网站首页生成访问包,还能够进一步针对各个链接地址(即二级页面或三级页面等)生成访问包,从而获得用于加载整个网站的访问包,以实现在脱离内网环境时能够加载各级页面的效果。
综上可知,本发明可用于网站和网页的离线访问,如果将上述方法中用于过滤外网的步骤去掉,最终得到的网站访问包可以用于离线访问。另外,本发明还可以用于网页备份、网页快照、爬虫获取网页完整数据等场景。
另外,本发明还提供了一种网站数据的访问方法,包括:通过上述实施例中的方法生成的网站数据访问包,访问网站数据。由此可见,本发明提供了一套完整的网站自动保存方法,主要解决内网网站在外网无法访问的问题,使用简单方便。另外,本发明还提出了一种网页本地访问包的生成方法,无需借助其他工具可直接通过浏览器访问,并且有良好的用户体验,被访问页面完整且交互顺畅。
总之,本发明至少能够实现如下有益效果:外网通过浏览器直接访问内网平台的完整页面,无需其他配置或安装;通过首页地址自动获得整个网站所有页面的访问包,以实现对各个二级页面的离线访问;对平台请求的内外网资源分别进行处理,减少冗余文件。
图3示出了本发明又一实施例提供的一种网站数据的保存装置,包括:
第一获取模块31,适于根据目标网站的登录信息,获取与所述目标网站的首页页面相关联的第一页面资源;
第一处理模块32,适于对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包;
第二获取模块33,适于获取所述目标网站中包含的页面链接,根据所述页面链接获取与所述目标网站的非首页页面相关联的第二页面资源;
第二处理模块34,适于对所述第二页面资源进行处理,根据第二处理结果生成第二页面访问包;
生成模块35,适于根据所述第一页面访问包以及所述第二页面访问包,生成用于保存网站数据的网站数据访问包。
可选地,所述第一获取模块适于:
根据目标网站的首页地址信息、账户信息以及内网地址信息,获取目标网站的首页页面加载过程中所需的HTTP请求信息以及加载完成后的网页渲染信息;
根据所述HTTP请求信息以及加载完成后的网页渲染信息,获取与所述目标网站的首页页面相关联的第一页面资源。
可选地,所述目标网站为内网网站,则所述第一获取模块适于:
根据HTTP请求信息判断对应的页面资源是否属于内网资源;若是,则将该HTTP请求信息对应的页面资源确定为与所述目标网站的首页页面相关联的第一页面资源。
可选地,所述第一获取模块适于:
根据HTTP请求信息中包含的请求头信息和响应头信息判断与所述HTTP请求信息对应的页面资源的类型;
分别获取各种类型的页面资源,得到与所述目标网站的首页页面相关联的第一页面资源;
其中,所述页面资源的类型包括:静态文件类型、数据请求类型、以及渲染页面类型。
可选地,所述第一处理模块适于:
针对所述第一页面访问包中属于静态文件类型的静态文件资源,将所述静态文件资源中的链接地址替换为与所述第一页面访问包相对应的本地存储地址。
可选地,所述第一处理模块适于:
针对所述第一页面访问包中属于数据请求类型的数据请求资源,通过模拟数据生成器生成与所述数据请求资源相对应的代码信息;
将所述代码信息插入所述第一页面访问包中包含的HTML文件中;其中,所述代码信息用于拦截访问请求并模拟响应所述访问请求对应的请求结果。
可选地,所述第一处理模块适于:
针对所述第一页面访问包中属于渲染页面类型的渲染页面资源,通过文本匹配算法获取所述渲染页面资源中包含的交互标签;通过指令模拟针对所述交互标签触发的交互操作。
另外,本发明又一实施例还提供了一种网站数据的访问装置,包括:访问模块,适于通过由上述的方法生成的网站数据访问包,访问网站数据。
另外,参照图4,本发明又一实施例提供了一种电子设备,其包括:
一个或多个处理器501;
存储器502,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的网站数据的保存方法;
一个或多个I/O接口503,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器501为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器502为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)503连接在处理器501与存储器502间,能实现处理器501与存储器502的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器501、存储器502和I/O接口503通过总线相互连接,进而与计算设备的其它组件连接。
最后,本发明又一实施例提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种网站数据的保存方法。
本领域普通技术人员可以理解,上文中所发明方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经发明了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。
Claims (12)
1.一种网站数据的保存方法,其特征在于,包括:
根据目标网站的登录信息,获取与所述目标网站的首页页面相关联的第一页面资源;
对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包;
获取所述目标网站中包含的页面链接,根据所述页面链接获取与所述目标网站的非首页页面相关联的第二页面资源;
对所述第二页面资源进行处理,根据第二处理结果生成第二页面访问包;
根据所述第一页面访问包以及所述第二页面访问包,生成用于保存网站数据的网站数据访问包。
2.根据权利要求1所述的方法,其特征在于,所述根据目标网站的登录信息,获取与所述目标网站的首页页面相关联的第一页面资源包括:
根据目标网站的首页地址信息、账户信息以及内网地址信息,获取目标网站的首页页面加载过程中所需的超文本传输协议HTTP请求信息以及加载完成后的网页渲染信息;
根据所述HTTP请求信息以及加载完成后的网页渲染信息,获取与所述目标网站的首页页面相关联的第一页面资源。
3.根据权利要求2所述的方法,其特征在于,所述目标网站为内网网站,则所述根据所述HTTP请求信息以及加载完成后的网页渲染信息,获取与所述目标网站的首页页面相关联的第一页面资源包括:
根据HTTP请求信息判断对应的页面资源是否属于内网资源;若是,则将该HTTP请求信息对应的页面资源确定为与所述目标网站的首页页面相关联的第一页面资源。
4.根据权利要求2所述的方法,其特征在于,所述根据所述HTTP请求信息以及加载完成后的网页渲染信息,获取与所述目标网站的首页页面相关联的第一页面资源包括:
根据HTTP请求信息中包含的请求头信息和响应头信息判断与所述HTTP请求信息对应的页面资源的类型;
分别获取各种类型的页面资源,得到与所述目标网站的首页页面相关联的第一页面资源;
其中,所述页面资源的类型包括:静态文件类型、数据请求类型、以及渲染页面类型。
5.根据权利要求4所述的方法,其特征在于,所述对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包包括:
针对所述第一页面访问包中属于静态文件类型的静态文件资源,将所述静态文件资源中的链接地址替换为与所述第一页面访问包相对应的本地存储地址。
6.根据权利要求4所述的方法,其特征在于,所述对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包包括:
针对所述第一页面访问包中属于数据请求类型的数据请求资源,通过模拟数据生成器生成与所述数据请求资源相对应的代码信息;
将所述代码信息插入所述第一页面访问包中包含的超文本标记语言HTML文件中;其中,所述代码信息用于拦截访问请求并模拟响应所述访问请求对应的请求结果。
7.根据权利要求4所述的方法,其特征在于,所述对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包包括:
针对所述第一页面访问包中属于渲染页面类型的渲染页面资源,通过文本匹配算法获取所述渲染页面资源中包含的交互标签;通过指令模拟针对所述交互标签触发的交互操作。
8.一种网站数据的访问方法,其特征在于,包括:通过由权利要求1-7任一所述的方法生成的网站数据访问包,访问网站数据。
9.一种网站数据的保存装置,其特征在于,包括:
第一获取模块,适于根据目标网站的登录信息,获取与所述目标网站的首页页面相关联的第一页面资源;
第一处理模块,适于对所述第一页面资源进行处理,根据第一处理结果生成第一页面访问包;
第二获取模块,适于获取所述目标网站中包含的页面链接,根据所述页面链接获取与所述目标网站的非首页页面相关联的第二页面资源;
第二处理模块,适于对所述第二页面资源进行处理,根据第二处理结果生成第二页面访问包;
生成模块,适于根据所述第一页面访问包以及所述第二页面访问包,生成用于保存网站数据的网站数据访问包。
10.一种网站数据的访问装置,其特征在于,包括:
访问模块,适于通过由权利要求9所述的保存装置生成的网站数据访问包,访问网站数据。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-7任意一项所述的方法,或根据权利要求8所述的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
12.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-7任意一项所述的方法,或根据权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032973.XA CN113656739A (zh) | 2021-09-03 | 2021-09-03 | 网站数据的保存方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111032973.XA CN113656739A (zh) | 2021-09-03 | 2021-09-03 | 网站数据的保存方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113656739A true CN113656739A (zh) | 2021-11-16 |
Family
ID=78482832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111032973.XA Pending CN113656739A (zh) | 2021-09-03 | 2021-09-03 | 网站数据的保存方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656739A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062247A (zh) * | 2022-05-30 | 2022-09-16 | 北京优酷科技有限公司 | 网页的本地操作、处理方法、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354877A (zh) * | 2016-09-27 | 2017-01-25 | 北京奇虎科技有限公司 | 网页离线浏览方法及装置 |
CN106790687A (zh) * | 2017-02-17 | 2017-05-31 | 和创(北京)科技股份有限公司 | 网页呈现方法、网页数据处理方法和服务器 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
CN110263275A (zh) * | 2019-06-14 | 2019-09-20 | 深圳前海桔子信息技术有限公司 | 一种访问网页的方法、装置、移动终端和存储介质 |
CN110825990A (zh) * | 2018-07-23 | 2020-02-21 | 优视科技有限公司 | 页面访问方法、客户端、服务器及系统 |
CN112241298A (zh) * | 2019-07-18 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 页面显示方法及装置、存储介质、电子装置 |
-
2021
- 2021-09-03 CN CN202111032973.XA patent/CN113656739A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106354877A (zh) * | 2016-09-27 | 2017-01-25 | 北京奇虎科技有限公司 | 网页离线浏览方法及装置 |
CN106790687A (zh) * | 2017-02-17 | 2017-05-31 | 和创(北京)科技股份有限公司 | 网页呈现方法、网页数据处理方法和服务器 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
CN108334562A (zh) * | 2018-01-09 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 一种页面显示方法和装置 |
CN110825990A (zh) * | 2018-07-23 | 2020-02-21 | 优视科技有限公司 | 页面访问方法、客户端、服务器及系统 |
CN110263275A (zh) * | 2019-06-14 | 2019-09-20 | 深圳前海桔子信息技术有限公司 | 一种访问网页的方法、装置、移动终端和存储介质 |
CN112241298A (zh) * | 2019-07-18 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 页面显示方法及装置、存储介质、电子装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062247A (zh) * | 2022-05-30 | 2022-09-16 | 北京优酷科技有限公司 | 网页的本地操作、处理方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9411782B2 (en) | Real time web development testing and reporting system | |
US8996988B2 (en) | Automated application compatibility testing | |
US20080244740A1 (en) | Browser-independent editing of content | |
JP6129402B2 (ja) | ページスナップショットの作成 | |
JP6898452B2 (ja) | データ取得方法およびデバイス | |
US8225197B1 (en) | Rendering approximate webpage screenshot client-side | |
CN110069683B (zh) | 一种基于浏览器爬取数据的方法及装置 | |
CN103631905A (zh) | 一种网页的加载方法和浏览器 | |
US8682964B1 (en) | Progressively loading network content | |
CN112637361B (zh) | 一种页面代理方法、装置、电子设备及存储介质 | |
CN110941779B (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN110321504A (zh) | 一种页面处理方法及装置 | |
CN106886547A (zh) | 一种脚本生成方法与装置 | |
EP3104279B1 (en) | Testing interactive network systems | |
CN110825600B (zh) | 一种页面信息处理方法、服务器和页面展示装置 | |
CN110365776B (zh) | 图片批量下载方法、装置、电子设备及存储介质 | |
CN113656739A (zh) | 网站数据的保存方法及装置 | |
CN105530543A (zh) | 一种浏览器自动网页资源下载方法及装置 | |
US20140337709A1 (en) | Method and apparatus for displaying web page | |
CN110708270B (zh) | 异常链接检测方法以及装置 | |
CN112130908A (zh) | 设置用户引导的方法及装置 | |
Amarasinghe | Service worker development cookbook | |
CN107103001B (zh) | 基于浏览器获取目标前端资源文件的方法、装置和系统 | |
CN111368231B (zh) | 一种异构冗余架构网站的测试方法及装置 | |
AU2019384114B2 (en) | Method and apparatus for accessing proprietary resources on a co-browse session |
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: 20211116 |
|
RJ01 | Rejection of invention patent application after publication |