Python 爬虫进阶必备 | 某外卖优惠平台内容加密参数分析
今日网站
aHR0cHMlM0EvL3N0YXRpYy53YWl0d2FpdHBheS5jb20vd2ViL3NkX3NlL2luZGV4Lmh0bWwlMjMvc2VhcmNoL3NlYXJjaGZvciUzRHZlbmRvciUyNmtleXdvcmQlM0QlMjVFNyUyNUIxJTI1QjMlMjVFNyUyNUIyJTI1ODk=
最近因为个人的一些特殊情况,断更不少时间,有问题可以在交流群里 @ 我,有看到都会回复的。
Js 加密的内容其实大同小异,目前咸鱼也在不断学习 APP 逆向的知识,之后会出一部分关于 APP 逆向在爬虫中的应用相关的文章,这部分设计的技能栈较广,大家可以先预习 Java 基础与 Android 基础。
抓包与加密定位
这个网站的加密部分是返回值加密,返回值是长串的密文
就像上面这样
定位加密的方法
方法一:XHR 断点然后分析就完事了
可以直接找到处理请求和返回值的地方,之后在请求的地方单步调试就可以了
方法二:之前分析过不少的网站就是这样的加密形式,其实可以使用 hook 脚本直接找到,也可以像我这样搜索JSON.parse()
按照上面的方法,可以找到下面这样的代码
可以在代码运行到这个位置的时候,配合console
输出查看明文是否是我们想要的数据,来验证我们是不是定位对了位置,就像下面这样
可以看到密文的确实在这里进行解密的
加密分析
接下来就是老套路,把解密代码逐个扣取出来就完事了
就像我这样,先把主要的解密逻辑扣取出来,然后直接实例化运行
当然肯定会报错的,然后再按照报错信息逐一补全就行了,补全的实在太多了,我写了一半发现实在太多了,图片加文字有近两万字还没有写完
所以我直接给你们上视频学习!!
因为这个代码的扣取难度属于中等难度,这个涉及到的知识就比较多了,建议你学习一下我之前写过的三篇系列文章之后再看下面的视频教程
爬虫工程师也应该会的 NodeJS 知识(三)- 快速抛弃 execjs
这个视频资料我直接放在后台了,这个教程的录制者是花哥,他的公众号是
【妄为写代码】
感兴趣的可以关注一下啊
视频教程中讲述了整体加密代码应该如何扣取,实验的网站是豆瓣读书的搜索加密参数,扣取方法和这篇文章的思路是通用的。
那么如何获取这个加密扣取的视频呢?
后台回复【教学视频】即可
- 分布式监控系统Zabbix--完整安装记录 -添加web页面监控
- .Net中使用带UI的OCX的方法
- 2017数据科学领域15大热门GitHub项目
- 简单分页的性能优化
- Flash/Flex学习笔记(42):坐标旋转
- 分布式监控系统Zabbix-完整安装记录 -添加端口监控
- Flash/Flex学习笔记(40):弹性运动续--弹簧
- 表格样式—粗边框细表格线
- 分布式监控系统Zabbix--完整安装记录 -添加apache监控
- Flash/Flex学习笔记(38):缓动动画
- 把EmEditor改造成简单的Word
- centos7下FFmpeg环境部署记录
- Mac下使用rz、sz远程上传下载文件的配置记录
- 写文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法