84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
微信网页版登录需要扫描二维码,做Python爬虫的时候该如何模拟这个过程?
业精于勤,荒于嬉;行成于思,毁于随。
首先你的得会python 还要会抓包分析
从网页获取这个二维码图片的URL(用PhantomJS)
用URL下载这个图片(Python)
把图片保存到你的手机(ssh/adb)
通过你手机端的微信,访问解析二维码的方法,把这个图片传过去(android/ios的自动化测试框架)
微信网页版的二维码相当于是给当前浏览器生成一个Key,微信的手机客户端在已登录的状态下可以通过扫码获取这个Key,并告诉微信服务器,这话Key就是这个已登录的用户,因此PC端浏览器被授权访问聊天界面。
这个过程是由微信手机端,与微信服务器一同完成的,并不是通过Python解析出这个二维码就可以解决。
另外,我们从浏览器上看到的二维码代码是这样的:
<img class="img" mm-src="https://login.weixin.qq.com/qrcode/Ie8OIBZqJQ==" mm-src-load="qrcodeLoad" mm-src-parallel="" mm-src-timeout="10" mm-src-retry-count="2" src="https://login.weixin.qq.com/qrcode/Ie8OIBZqJQ==">
而Python用requests或urllib获取到的HTML是这样的:
<img class="img" mm-src="{{qrcodeUrl}}" mm-src-load="qrcodeLoad" mm-src-parallel mm-src-timeout="10" mm-src-retry-count="2" src="https://res.wx.qq.com/zh_CN/htmledition/v2/images/img2e4e03.gif">
其中这个{{qrcodeUrl}}需要执行js才能生成,所以我上面写用PhantomJS来获取这个页面,然后把图片给Python。
{{qrcodeUrl}}
首先你的得会python 还要会抓包分析
大致步骤:
从网页获取这个二维码图片的URL(用PhantomJS)
用URL下载这个图片(Python)
把图片保存到你的手机(ssh/adb)
通过你手机端的微信,访问解析二维码的方法,把这个图片传过去(android/ios的自动化测试框架)
补充:为什么PC端不能独立完成?
微信网页版的二维码相当于是给当前浏览器生成一个Key,微信的手机客户端在已登录的状态下可以通过扫码获取这个Key,并告诉微信服务器,这话Key就是这个已登录的用户,因此PC端浏览器被授权访问聊天界面。
这个过程是由微信手机端,与微信服务器一同完成的,并不是通过Python解析出这个二维码就可以解决。
另外,我们从浏览器上看到的二维码代码是这样的:
而Python用requests或urllib获取到的HTML是这样的:
其中这个
{{qrcodeUrl}}
需要执行js才能生成,所以我上面写用PhantomJS来获取这个页面,然后把图片给Python。