[发明专利]一种基于chrome的网页镜像、回放及本地映射地图生成方法有效

专利信息
申请号: 202010562547.6 申请日: 2020-06-19
公开(公告)号: CN111782998B 公开(公告)日: 2022-07-12
发明(设计)人: 王文清;曾潮缤;刘诗慧 申请(专利权)人: 厦门市美亚柏科信息股份有限公司
主分类号: G06F16/957 分类号: G06F16/957;G06F16/955;G06F16/951
代理公司: 厦门市精诚新创知识产权代理有限公司 35218 代理人: 何家富
地址: 361000 福建省厦门市*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 chrome 网页 回放 本地 映射 地图 生成 方法
【权利要求书】:

1.一种基于chrome的网页镜像方法,其特征在于,包括以下步骤:

S101:通过chrome devtools API连接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字段的值作为键,将镜像文件的地址作为值,写入root字典中;

S205:判断是否遍历完所有镜像文件,如果是,进入S206;否则,返回S203;

S206:将root字典序列化保存到本地,形成本地网站地图文件。

5.一种网站回放方法,其特征在于,包括以下步骤:

S301:输入要回放的采用权利要求1~3中任一方法生成的镜像文件Image,网站地图Map,通过chrome devtools API连接chrome或chromium浏览器并打开一个tab页面,进入步骤S302;

S302:监听事件Page.close和Network.requestIntercepted,对应事件处理流程E4和E5,进入步骤S303;

S303:调用Page.enable()和Network.enable()开始事件监听,进入步骤S304;

S304:调用Network.setRequestInterception,将参数patterns设置为[{'urlPattern':'*'}],进入步骤S305;

S305:调用Page.navigate,将参数url设置为输入镜像文件Image的targetURL字段,触发浏览器进行网络请求,初始流程结束,等待事件处理流程E4和E5的处理;

(1)事件处理流程E4:当接受到用户关闭页面事件通知后,结束对该tab页面的控制,结束网页回放;

(2)事件处理流程E5的处理包括以下步骤:

S306:检测该网络请求是否为当前Image的首次网络请求,如果是,则进入步骤S307,否则,进入步骤S310;

S307:遍历Image的extraInfo字典的值value,取其url字段跟网络请求的URL进行比较,判断两者是否相等,如果相等则节点匹配,进入步骤S308;否则,进入步骤S309;

S308:获取匹配节点value的headers字段,将其设置为一个字典,字典的键为http请求头名称,字典的值为http请求头对应的值,根据http的格式将键和值做拼接处理,写入二进制流stream,进入步骤S314;

S309:生成一个包括状态码、类型描述信息和编码的头信息,写入二进制流stream,进入S314;

S310:判断网络请求的URL是否匹配网站地图Map里面其他镜像的键,如果是,则重置Image为匹配URL的Image文件,返回步骤S307;否则,进入步骤S311;

S311:遍历Image的extraInfo字典的值value,取其url字段跟网络请求的URL进行比较,判断两者是否相等,如果相等则节点匹配,进入步骤S312;否则,进入步骤S316;

S312:获取匹配节点value的headers字段,将其设置为一个字典,字典的键为http请求头名称,字典的值为http请求头对应的值,根据http的格式将键和值做拼接处理,写入二进制流stream,进入步骤S313;

S313:获取匹配节点value的data字段,将其从base64编码还原,追加写入stream,并将stream进行base64编码,获得strsteam,进入步骤S15;

S314:将当前镜像Image的targetBody字段内容追加写入stream,并将stream进行base64编码,获得strsteam,进入步骤S315;

S315:调用Network.continueInterceptedRequest,将参数interceptionId设置为事件处理流程E5的请求标识interceptionId,参数rawResponse设置为strstream,参数url设置为当前网络请求的URL,结束事件处理流程E5的处理;

S316:调用Network.continueInterceptedRequest,将参数interceptionId设置为事件处理流程E5的请求标识interceptionId,参数errorReason设置为BlockedByClient,结束事件处理流程E5的处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010562547.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top