【爬虫逆向案例】某名片网站 js 逆向 —— data解密

25 篇文章 4 订阅
7 篇文章 2 订阅

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

【爬虫逆向案例】某名片网站js逆向—— data解密

1、前言

相信各位小伙伴在写爬虫的时候经常会遇到这样的情况抓取动态数据的时候 data 是一串加密数据,如下图所示:

在这里插入图片描述
接下来我们尝试解决一下这样的情况,本期咱们采集的是某名片网站

2、步骤

我们可以看到数据的存储格式都是字符,那我们先全局搜索 encrypt_data

在这里插入图片描述

进入到搜索出来的 js 文件中以后,再次全局搜索(注意:这里有一个小技巧,遇到这种data加密的数据,就全局搜索 JSON.parse ,省去我们慢慢调试 js 的时间,搜索以后会找到对应加密的函数

在这里插入图片描述

打上断点刷新页面或者切换网页中的下一页即可,断点断住以后我们可以发现 e 就是我们想要的东西

在这里插入图片描述
在这里插入图片描述
接下来,先将 这个function s(e)主函数复制出来,并且进行一些小的改写 因为 a.a 是可以不需要的

在这里插入图片描述

接下来 看里面return的函数结构,发现 a.a.decode 就是对e进行加密的函数,然后最外层就是o函数对整个进行处理,那么我们先选中 a.a.decode 进入这个函数的结构

在这里插入图片描述
在这里插入图片描述
那么我们需要将这个 function(t) 整个复制出来,复制到我们的 Pycharm 里面,并补充完整

在这里插入图片描述
接下来,我们就是需要将最外层的 o 函数找到,并且复制出来,和查找 decode 的方法一样

在这里插入图片描述
在这里插入图片描述
还是一样复制过来,怕复制错的话,可以把该 js 文件下载到本地,用 Pycharm 打开格式化一下,把需要的函数复制出来就行了。

在这里插入图片描述
到这个时候,我们的 js 文件大概是这样的,如下图所示:

在这里插入图片描述
我们可以先拿个数据测试一下,尝试运行一次,我们会发现报错了,

在这里插入图片描述
由图可见,var e = (t = String(t).replace(f, "")).length; 中使用的 f 未定义,我们返回 decode 的 js 文件中找找,肯定在那里面。

往上翻看看,f 立马就出来了

在这里插入图片描述
写入 f 后重新运行一遍,好家伙,又报错了,如下图所示:

在这里插入图片描述
这次是 l 没有找到,刚才咱们回去 js 找 f 的上边刚好就是 l ,刚好复制下去,重新运行一下,这数据不就出来了

在这里插入图片描述
后续有需求可以自己封装一下,请求回来数据解析入库。

3、号外

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “👍点赞” “✍️评论” “💙收藏” 一键三连哦!
【👇🏻👇🏻👇🏻关注我| 获取更多源码 | 定制源码】大学生毕设模板、期末大作业模板 、Echarts大数据可视化等! 「一起探讨 ,互相学习」!(vx:python812146)
以上内容技术相关问题😈欢迎一起交流学习👇🏻👇🏻👇🏻🔥

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

跳舞的皮埃尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值