奉化建设网站,益阳网站开发公司,制作网页可以有效控制什么的位置,网站建设维护协议书声明#xff1a;本文只作学习研究#xff0c;禁止用于非法用途#xff0c;否则后果自负#xff0c;如有侵权#xff0c;请告知删除#xff0c;谢谢#xff01; 【爬虫逆向案例】某名片网站js逆向—— data解密 1、前言2、步骤3、号外 1、前言
相信各位小伙伴在写爬虫的…声明本文只作学习研究禁止用于非法用途否则后果自负如有侵权请告知删除谢谢 【爬虫逆向案例】某名片网站js逆向—— data解密 1、前言2、步骤3、号外 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大数据可视化等! 「一起探讨 互相学习」vxpython812146 以上内容技术相关问题欢迎一起交流学习