爬虫JS逆向思路 - - 扣JS(data解密)

网络上几千块都学不到的JS逆向思路这里全都有

本系列持续更新中,三连关注不迷路  

干货满满不看后悔

注意本文爬虫逆向仅供学习交流使用

个人主页→数据挖掘博主ZTLJQ的主页

个人推荐python学习系列:

☄️爬虫JS逆向系列专栏 - 爬虫逆向教学

☄️python系列专栏 - 从零开始学python
 


今天教学的是解决data加密数据

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

如下图

 接下来我将会带领大家一起学习如何解决这样的情况

首先我们自然是打开你要爬取的网站 然后打开F12抓包工具 选择XHR 刷新页面

爬虫JS逆向思路 - - 扣JS(data解密)_第1张图片

 接下来就是找到对应的接口 点击预览

爬虫JS逆向思路 - - 扣JS(data解密)_第2张图片

预览后发现 encrypt_data是一串加密数据 没有我们想要的数据 那么接下来就是正式的操作了

先全局搜索 encrypt_data 

爬虫JS逆向思路 - - 扣JS(data解密)_第3张图片

 进入到js文件中以后 再次全局搜索(注意:这里有一个小技巧 遇到这种data加密的数据  就全局搜索 JSON.parse  省去你自己慢慢调试js的时间 

搜索以后会找到 对应加密的函数

爬虫JS逆向思路 - - 扣JS(data解密)_第4张图片

 打上断点 刷新页面或者切换网页中的下一页 即可

断点断住以后 发现 e就是我们想要的东西

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

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

爬虫JS逆向思路 - - 扣JS(data解密)_第5张图片

那么我们需要将 这个function(t)整个复制出来 复制到我们的pycharm里面

爬虫JS逆向思路 - - 扣JS(data解密)_第6张图片

接下来 我们就是需要将最外层的o函数找到 并且复制出来

爬虫JS逆向思路 - - 扣JS(data解密)_第7张图片

 那么现在主函数需要的参数就是

return JSON.parse(o("5e5062e82f15fe4ca9d24bc5", decode1(e), 0, 0, "012345677890123", 1))

o函数 a.a.decode函数 我们都已经将函数给复制出来了  扣JS的精髓就是 把主要的解密函数  复制出来  里面需要什么参数或者函数 就复制什么函数出来 然后最后运行 主要的解密函数即可

 最后一步就是 把之前浏览的加密参数复制给一个变量  然后执行复制在pycharm中的 function s(e)主函数

接下来的 运行这个js 取得的结果就是

爬虫JS逆向思路 - - 扣JS(data解密)_第8张图片

这样我们就完成了一次解密data数据的操作  是不是很高大上  快点赞3连吧✔️✔️✔️

       本次的思路就这么多,这个系列会一直更新下去,之后我写的项目或者框架都会更新在这个系列中,希望大家多多支持。

       真诚的希望,这篇文章对大家有用,也希望大家能够学习到爬虫的精髓。✍✍✍

你可能感兴趣的:(爬虫JS逆向,爬虫,javascript,python)