逆向爬虫25 抓包工具和PyExecjs

逆向爬虫25 抓包工具和PyExecjs

我们在处理一些网站的时候,会遇到一些屏蔽F12,以及只要按出浏览器的开发者工具就会死机甚至死机的现象,在遇到这类网站的时候,我们可以使用抓包工具把页面上屏蔽开发者工具的代码给干掉。

一. Fiddler

这两款工具是非常优秀的抓包工具,他们可以监听到我们计算机上所有的http网络请求,利用这种特性,可以获取到页面加载过程中的所有内容。

1.1 软件安装

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2 fiddler简单配置(HTTPS)

接下来.我们打开www.vmgirls.com,尝试抓包看看,发现https的请求默认是不可用的,需要配置一下证书。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.3 fiddler简单使用

清理一下信息,然后重新刷新浏览器,就看到被响应的html内容了。

在这里插入图片描述

vmgirl之所以不可以打开开发者工具,是因为在其html中导入了一个disable-devtools.js,我们需要想办法把这个东西给干掉,只要干掉了它,我们就又可以打开F12的开发者工具了,那么如何干掉它呢?这就需要我们了解一下fiddler和charles的工作原理了。

fiddler和charles本质其实就是一个安装在这台计算机上的一个代理,就像这样:

在这里插入图片描述

本质上和代理没啥区别,但是,由于fiddler是我们自己本地的软件,那么我们可以在fiddler里对请求过来的内容进行截取和替换。

我们做这样一个事情,把vmgirls的页面源代码捕获,单独写入一个html文件,然后把其中的disable-devtools.js部分注释掉。

在这里插入图片描述

现在这个页面源代码在我本地了,我就可以进行替换了

在这里插入图片描述

在这里插入图片描述

接下来,重新刷新页面(ctrl+shift+r),发现右键有效果了。

在这里插入图片描述

在这里插入图片描述

二. PyExecJS模块

pyexecjs是一个可以帮助我们运行js代码的一个第三方模块,其使用是非常容易上手的。

但是它的运行是要依赖能运行js的第三方环境的,这里我们选择用node作为我们运行js的位置。

2.1 安装Nodejs

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2 安装pyexecjs

pip install pyexecjs

测试一下:

import execjs

print(execjs.get().name)  # Node.js (V8)

2.3 简单使用

import execjs

# execjs.eval 可以直接运行js代码并得到结果
js = """
    'a_o_e_i_u'.split('_')
"""
res = execjs.eval(js)
print(res)

# execjs.compile(),  call()
# execjs.compile() 事先加载好一段js代码,
jj = execjs.compile(
    """
        function an(a, b) {
            return a + b
        }
    """
)
# call() 运行代码中的xxx函数. 后续的参数是xxx的参数
ret = jj.call("an", 1, 2)
print(ret)

完事儿,你没有看错,execjs就这几个功能就够咱用的了。

2.4 实战案例

保险起见,js逆向的案例就不列了,怕被查水表。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值