js逆向系列:企名片,获取js逆向后的真实数据!

8 篇文章 0 订阅
2 篇文章 0 订阅

一、进入企名片创业项目

我们需要爬取如下数据

在这里插入图片描述
首先,对该网页进行抓包,发现这些数据是通过post请求获得的。

在这里插入图片描述
这是网站给我们返回的数据,为什么和网页上显示的不一样呢?分析后得出,这是经过js加密后的数据,为了防止爬虫,网页对数据进行了加密,因此我们需要破解这个js加密获取真实的数据。

二、获取加密的js文件

我们在开发者工具内搜索encrypt_data这个参数,很容易就找到了我们需要的js文件。

在这里插入图片描述
下面就是进入该js文件进行断点调试。

在这里插入图片描述
找到了可疑的代码行,我们在这边下断点进行调试。下面进入函数内部。

在这里插入图片描述
有没有发现这个t值有点眼熟?
没错,这就是网站给我们返回的数据,因此我们只要只要这个s函数,就能获取到真实的数据了,因此需要进入s函数内部。

在这里插入图片描述
这六个参数,正好是上面已经存在的六个参数,接下来只要拼凑js,就能获取到我们需要的内容了。

在这里插入图片描述

三、编写代码

def get_encrypt_data():
    url = 'https://vipapi.qimingpian.com/DataList/productListVip'
    form_data = {
        'page': '1',
        'num': '20'
    }
    response = requests.post(url,headers=headers,data=form_data)
    res = response.json()['encrypt_data']
    return res





get_encrypt_data这个函数用来获取网站给我们返回的加密数据,下面通过execjs执行我们抠出来的js文件,获取到解密后的数据。

with open('企名片.js', encoding='utf-8-sig') as f:
    js_code = f.read()

ctx = execjs.compile(js_code)
sp = json.loads(ctx.call("get_data",get_encrypt_data()))
print(sp)



效果图如下:
在这里插入图片描述
大功告成!

在这里插入图片描述

四、结语

本文是一个比较容易的js解密教程,需要拼写的js代码并不多,并且加密的js文件也很容易找到,有疑问的可以在评论区留下你们的观点,博主必定有问必答。

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值