一种基于chrome的网页镜像、回放及本地映射地图生成方法技术

技术编号:25949111 阅读:28 留言:0更新日期:2020-10-17 03:41
本发明专利技术涉及一种基于chrome的网页镜像、回放及本地映射地图生成方法,提出一种新的页面保存方式,及相应的页面回放方法、跨页离线浏览的解决方案。首先本发明专利技术的镜像方法有效的记录了访问网页时重要的原始数据,同时完整地记录了访问网页时页面的原始内容;本发明专利技术的镜像回放方法可以展现出网页的网络请求详细过程和相关数据,更加真实的还原镜像制作当时获取网页的情景;本发明专利技术的镜像回放方案支持离线跨页浏览,为整站离线浏览提供了一个实现方案,提供了更好的沉浸式浏览体验。

【技术实现步骤摘要】
一种基于chrome的网页镜像、回放及本地映射地图生成方法
本专利技术涉及互联网
,尤其涉及一种基于chrome的网页镜像、回放及本地映射地图生成方法。
技术介绍
随着web2.0的发展,网页的数量呈现出几何指数的增长,人人都可参与互联网内容的创造,人们有更多的网页保存需求。现有两种标准的网页保存方式,一种是页面和资源分别存储成单个文件,同时浏览器将页面里的链接重新修改定向到其子目录资源的方式;另外一种是存储成单个页面的网页归档MHTML。这两种方法基本满足单一网页存储的需求。然而单一的简单镜像并不能满足人们越来越高的体验需求,也难以体现相关的数据来源及事件相关过程。人们需要更好的方式来解决这些问题。现有页面保存方式仅记录了某一时刻的页面html状态,未记录资源出处及访问时间;然而不同时间访问相同页面呈现的内容可能会不一样,同样相同的URL也会根据访问位置的不同被定向到不同的服务器,原有的保存方式无法体现这些关键的差异。现有的页面保存方式回放内容时仅支持单页面模式,无法支持跨页离线浏览等;现有保存方式保存内容时会对内容进行修改,未本文档来自技高网...

【技术保护点】
1.一种基于chrome的网页镜像方法,其特征在于,包括以下步骤:/nS101:通过chrome devtools API连接chrome或chromium浏览器并打开一个tab页面;/nS102:新建字典allResource用于存储资源数据,新建列表redirectUrlList用于存储页面跳转信息;/nS103:绑定事件Network.responseReceived、Network.loadingFinished、Network.requestWillBeSent到事件处理流程E1、E2、E3;/n事件处理流程E1:收到E1事件后,将其中的requestId作为键、response作为...

【技术特征摘要】
1.一种基于chrome的网页镜像方法,其特征在于,包括以下步骤:
S101:通过chromedevtoolsAPI连接chrome或chromium浏览器并打开一个tab页面;
S102:新建字典allResource用于存储资源数据,新建列表redirectUrlList用于存储页面跳转信息;
S103:绑定事件Network.responseReceived、Network.loadingFinished、Network.requestWillBeSent到事件处理流程E1、E2、E3;
事件处理流程E1:收到E1事件后,将其中的requestId作为键、response作为值,存入allResource字典;
事件处理流程E2:收到E2事件后,得知requestId对应的消息体已完成接收,结合E1所收到的消息描述,组成一个完整的http响应;
事件处理流程E3:收到E3事件后,检测参数redirectResponse中是否有值,如果有值说明存在URL跳转行为,取该值的字段url得到原始请求的URL,取参数request的字段url得到跳转后的URL;新建一个字典,将原始请求URL写入orgUrl字段,跳转后的URL写入realUrl字段,将该字典压入列表redirectUrlList;
S104:调用Network.enable()准备接收事件,清除浏览器缓存或调用Network.setCacheDisabled,将参数cacheDisabled设置为True后,调用Page.navigate并将参数url设置为需要镜像的网页URL;
S105:当浏览器请求网络数据且网页加载完成后,进入步骤S6;
S106:新建一个根字典root用于存储网页镜像,并进行以下三种操作:
操作一:调用Runtime.evaluate,将参数expression设置为“window.location.href“,其余参数使用默认值,从返回值中获得当前页面URL,写入root字段targetURL;
操作二:将字典allResource写入root字段extraInfo;将redirectUrlList写入root字段redirectURL;
操作三:调用DOM.getDocument,将参数depth设置1,参数pierce设置true,得到返回值node;
S107:调用DOM.getOuterHTML,将参数nodeId设置为返回值node中的nodeId字段,参数backendNodeId设置为返回值node中的backendNodeId字段,返回值即为渲染后的网页内容;
S108:将步骤S107返回的网页内容写入root字段targetBody;
S109:将root序列转化后保存到本地,形成镜像文件。


2.根据权利要求1所述的基于chrome的网页镜像方法,其特征在于:事件处理流程E2中组成一个完整的http响应的具体方法为:通过调用Network.getResponseBody并传入requestId来获得消息体内容,通过其返回的base64Encoded参数判断消息体是否已经进行base64编码,如未进行base64编码,将消息体进行base64编码,并在allResource中找到对应requestId的值,新增一个data字段,将base64编码后的消息体存入该requestId的值中。


3.根据权利要求1所述的基于chrome的网页镜像方法,其特征在于:网页加载完成的判断为监控网络请求和人工观察两种方法中的一种。


4.一种网站本地映射地图生成方法,其特征在于,包括以下步骤:
S201:创建字典root用于存储网站地图;
S202:遍历采用权利要求1~3中任一方法生成的镜像文件;
S203:提取镜像文件中targetURL字段的值;
S204:将提取的targetURL字段的值作为键,将镜像文件的...

【专利技术属性】
技术研发人员:王文清曾潮缤刘诗慧
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1