python爬虫 微信公众号模拟登陆js解密
python爬虫 微信公众号模拟登陆js解密
过程中使用的应用:
1.python 3.6以上的环境
2.vscode
3.node.js环境
4.pychram
5.360极速浏览器
打开这个网址 微信公众号
账号密码随便输入 然后 F12 审查元素 记得要点xhr 异步加载这样会出现后续的信息
然后下一步是点击登陆 出现下面的加载情况
然后会发现我输入的密码是’12345’ 但是pwd是’827ccb0eea8a706c4c34a16891f84e7b’
那这边肯定是进行了js加密了。只要我们找到加密的算法就可以了。
第二步
我们进入sources界面 这样会方便我们找到生成pwd的js加密过程算法
我们需要找到生成pwd的js代码段 然后一眼就能看到login这种敏感词
完美就直接进入这里面的代码段
如果你双击进入发现是一行很长的代码,点一下搜索栏下面的{},这样会把代码变得成明朗一下。
然后根据观察你可以看到pwd的生成是
pwd: u(n.pwd.substr(0, 16)),
所以我测试一下 打一个断点 ,看是否是这一行代码,
再继续点击一下登陆的按钮
就会出现
这样的页面。我们就能看到我们输入的账号密码都在这,所以这肯定就是我们要找的生成pwd的方法了。
接下来就是为什么我要推荐你们用360极速浏览器的原因的
将鼠标放在这个u上 会直接显示这个u的生成原因js代码
我们就可以直接双击到f anonymous(e,t,n)
直接去那个js代码就可以了
就直接到了生成pwd的原始代码了js片段上了
然后我们将这个最外面的那层function的代码复制到vscode上
其实我们只要将这个向上翻一翻 我们会发现在一片的代码
其实这也是典型的md5加密的,这样的我们的思路就很清晰了
只要我们将这段代码改写一下就可以获取到post请求中的pwd值了
vscode 中是需要运行环境的 node.js 不然js代码运行不了 无法测试
我们将这段代码改写一下 n.exports = function(e, t, n) {return t ? n ? a(t, e) : o(a(t, e)) : n ? r(e) : o(r(e))
改成
function getpwd(e, t, n) {return t ? n ? a(t, e) : o(a(t, e)) : n ? r(e) : o(r(e))
}
然后我们运行 出来的结果
这样我们的pwd就破解出来了。
第三步
我们将js代码写入到python 程序中 中间会用一个包 pyexecjs
然后代码是
import execjsjs_ex = execjs.get()
# 写入js文件
ctx = js_ex.compile(open('new_file.js',encoding='utf-8').read())# 执行js函数
funtion_js = 'getpwd("{0}")'.format('12345')
pwd = ctx.eval(funtion_js)
print(pwd)
运行的结果就是我们当时看到的pwd
剩下就是简单的post请求 就可以模拟登陆了。记得要使用session()一下 可以维持登陆的信息。
希望可以喜欢。js代码太长了 有需要js代码的可以私聊我一下。
python爬虫 微信公众号模拟登陆js解密相关推荐
- [python 爬虫]微信公众号权律二表情和壁纸爬虫
搜狗搜索引擎可以搜索到微信的公众号,许久没有爬虫了,最近买了崔大神的<python网络爬虫开发实战>,感觉又回到了一年前初学爬虫时满怀激情的时代.下面小试牛刀,利用一些基本的库 reque ...
- 基于Python实现微信公众号爬虫进行数据分析
学爬虫有什么用 网络爬虫是一个非常注重实践性而且实用性很强的编程技能,它不是程序员的专属技能,任何具有一定编程基础的人都可以学习爬虫,写爬虫分析股票走势,上链家爬房源分析房价趋势,爬知乎.爬豆瓣.爬新 ...
- python爬微信公众号视频_python爬虫公众号所有信息,并批量下载公众号视频
之前写过一篇类似的文章:python爬取公众号,用最简单的方式爬虫 还有同学一直在问,可能中间有一些小细节不明确,这次彻底明确一下细节. 本篇添加一个批量下载公众号内视频的功能,可以实现完全复制一个公 ...
- 基于python的公众号课堂教学_基于Python的微信公众号数据挖掘分析
基于Python的微信公众号数据挖掘分析 华南农业大学电子工程学院 王 建 黄宁香 [期刊名称]电子世界 [年(卷),期]2019(000)011 [总页数]3 运用Python网络爬虫技术对某时事类 ...
- python训练营微信公众号真实性_用python进行微信公众号开发(仅测试学习)
今天看到篇教程,是用python开发微信公众号的,觉得有意思,就敲代码实现了一下,成功后更觉得好玩,故记录,方便开发深入时使用. 基础背景介绍: 首先得有个人微信号(没有自行注册),为方便测试学习: ...
- python开发微信公众号开发教程百度云_Python开发微信公众号后台(系列一)
Python 开发微信公众号后台(系列一) 專 欄段晓晨,写过一点爬虫,写过几篇文章.能力虽 有限,会尽量把想说的东西讲清楚. 知乎 ID :段小草 知乎专栏:小段同学的杂记, https://zhu ...
- python下载微信公众号文章_python如何导出微信公众号文章方法详解
1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...
- 微信公众账户模拟登陆后的一系列操作
<?php header("content-type:text/html;charset=utf-8");/*** wx_mass* * 完成微信公众账户模拟登陆后的一系列操 ...
- 基于python的微信公众号开发教程_基于python的微信公众号开发教程
应广大python学员的期盼,九宝老师精心制作的"基于python的微信公众号开发"视频教程即将上线. 该课程秉承九宝培训一贯的"简单.高效.快速"的讲课原则, ...
- python使用微信设置-Python使用微信公众号实现自动回复
原标题:Python使用微信公众号实现自动回复 作者:睿江云计算 Python作为一门热门的编程语言,已经被很多编程爱好者所使用,下面我们就看看它是怎么与公众号的对接,并且实现一些回复文字,图片内容. ...
最新文章
- es6数组去重_JavaScript数组去重
- 带你揭秘Web前端发展的前景以及技术
- Segment-段(SAP)
- web项目的两个创建形式website和webapplication
- Chapter4 Java流程控制之选择结构
- Keepalived实现双机热备
- 扫描仪 pfu_行业案例:扫描仪高效加持下的艺术工作室
- 韩国财长:韩国将按计划推进加密货币征税
- hadoop-KMS密钥管理服务配置使用
- Spring Boot 第一个程序
- Tex document以及beamer模式插入参考文献,插入超链接
- Bootstrap的js插件之側边栏停靠(affix)
- 工业自动化使用机器视觉检测的优势
- 【R语言】rep用法(自用)
- 【计算视觉】理解图像中基本概念:色调、色相、饱和度、对比度、亮度
- 程序员如何提升自己的代码质量?
- 简述分布式锁的3种实现方式
- 3.《解读基金:我的投资观与实践》读书笔记
- 还原精灵还原了mysql怎么办
- vc 实时显示系统时间