Python爬虫进阶必备 | 关于 ReRes 的一篇教程

点击上方“咸鱼学Python”,选择“加为星标html

第一时间关注Python技术干货!python

先来说讲为何要用到 ReRes ?jquery

在爬虫开发的过程当中,想要修改网站的 JS 来规避网站的无限 Debugger ,或者想给线上的 JS 加点调试的语句,咱们就须要把远程的 JS 映射到本地的文件上,这样就能够经过修改本地的文件进行线上的调试。git

一般面对这样的需求,咱们能够经过一些工具完成:github

  • Windows 下可使用 Fiddler  ,Mac 下可使用 Charles
  • Chrome 开发工具自带的 Override
  •  ReRes 和 Resource Override 插件
  • Whistle - 跨平台 web 调试代理工具

我的常常使用的是 Chrome 开发工具自带的 Override 以及 ReRes 插件。web

本篇主要介绍关于 ReRes 插件的使用。正则表达式

有条件的直接使用谷歌商店安装:https://chrome.google.com/webstore/detail/reres/gieocpkbblidnocefjakldecahgeeica?hl=zh-CN&gl=CNchrome

或者在后台回复「reres」获取离线版本。小程序

下载好离线版本以后打开chrome://extensions/拖入便可安装微信

安装好后,在chrome://extensions/找到 ReRes ,勾选容许访问文件网址,至此完成 ReRes 的配置。

ReRes 到底怎么用?

这个插件的优势就是简洁,简洁到不找找相关的资料都不知道怎么用。

刚刚安装好的软件,打开是这个样的:

ReRes初始界面

点击添加规则是这个样子的:

添加规则

无从下手形容是再正确不过了,不过 ReRes 使用方法也很简单。

点开添加规则以后:

  • If URL match栏,填入的是匹配 URL 的规则,这里填入的是一个正则表达式,好比我想配置 github.com/login这个域名,可使用 *://github.com/login*这样的方式匹配,或者使用偷懒的方式直接匹配网站路径下的文件 ^https://www.xxxAAA.cn/js/jquery.min.js
  • If URL match注意事项:不要填开头的 /和结束的 /x,如 /.*/g请写成 .*
  • Response栏,填写的是映射的响应地址,好比在 Window 下,我想要将 E 盘下的 index.js 文件映射回去,使用本地地址的方式是 file:///E:/index.js,使用线上地址的方式是 http://localhost:3000/xxx/index.js
  • Response注意事项:线上地址以http://开头,本地地址以 file:///开头,Mac 推荐使用 超级右键能够直接复制文件路径,同时上一点中提到的线上地址须要启动一个能够访问静态文件的服务,可使用 Flask 快速搭建一个。

添加完成,点击保存,从新加载页面便可。

快速练手

光说不练确定不是咸鱼的风格,这里快速用一个例子演示一下。

打开夜幕的 JS 逆向的课程练习网站,打开第九题使用符号加密的JS练习题。

咱们能够看到网站的index.js这个文件是混淆后的代码。

为了方便调试,咱们使用ReRes将解密后的明文替换掉这个混淆的文件。

右键须要替换的文件,使用copy link address

粘贴到 Reres 的If URL match栏中。

以后复制须要映射的本地文件的路径,粘贴至Response栏,点击保存便可。

从新刷新网页,便可加载,为了测试是否加载成功,能够写个弹窗测试下。

到这里就完成了远端代码映射到本地的操做。

不过这里仍是须要另外思考一个问题:

若是须要映射的网站使用的是 Https 的协议,这个时候应该如何完成远端文件的映射呢?

最后

在以前咸鱼争取到一个福利,和北京大学出版社的编辑朋友合做的留言赠书活动已经试行几期。

不过好像你们对于留言不是很感冒,因此经过和出版社沟通争取。

以前的留言参与赠书的形式变动为小程序抽奖,你们只要扫描抽奖的小程序码便可参与。(发文三天后开奖)

感谢金主~

Love & Share 

[ 完 ]


朕已阅 

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索