如何用Python模拟登录微信,抓取所有好友个人信息!微信后台很强

微信模拟登录的过程比较复杂,当然不管怎么样方法都是万变不离其宗,我们还是使用fiddler抓包工具来模拟登录的过程。

好了,下面让我们一步一步的详细讲解一下如何实现的这个复杂的过程。

2.模拟获取二维码

微信网页提供的登录方式是扫码,我们模拟也无法避开,因此也要进行扫码验证。回到浏览器,使用开发者工具可以轻松找到二维码的链接。

4.登录

扫描了二维码之后,fiddler上会多出几个新的请求。

你可能发现了,上一步骤中code=200后面有个重定向的uri,这个uri就是此步骤中跳转的登录链接。

GET https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=AaL_Xd5muLPKNVY_Hzt_udBs@qrticket_0&uuid=gbJqPdfNSQ==&lang=zh_CN&scan=1520353803&fun=new&version=v2 HTTP/1.1

通过上一步骤识别登录成功的响应我们可以得到响应里面的所有参数。没错,这些参数正好可以用在正式登录()的请求中。于是我们利用这些参数再进行一次get请求。携带参数如下:

当然,这个登录请求同样也会返回一些响应代码,响应代码如下:

又是一堆参数,简直没完没了啊。别着急,我们已经接近成功了。获取这个响应我们一样需要将其中的参数全部提取出来供下一请求使用。

5.初始化同步

好了,终于到了最后一步了,就是微信的初始化和同步的请求了,初始化信息链接如下:

GET https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxgetcontact?pass_ticket=4dU5IS9EqtXt5cIV2Gni1tKG7m2V56PXk5XI%252BdjdrIk%253D&r=1520353806102&seq=0&skey=@crypt_a82dd73a_3885c878ae2f4590f7b2b5ee949dd1bd HTTP/1.1

GEThttps://webpush.wx.qq.com/cgi-bin/mmwebwx-bin/synccheck?r=1520353806125&skey=%40crypt_a82dd73a_3885c878ae2f4590f7b2b5ee949dd1bd&sid=O2Se5s2LJzPebME2&uin=254891255&deviceid=e289448639092966&synckey=1_694936977%7C2_694936979%7C3_694936982%7C1000_1520324882&_=1520353793581 HTTP/1.1

定义一个类,初始化实例的所有请求参数,定义二维码的路径。

2.请求uuid

3.模拟获取二维码

响应如下:

window.code=200;window.redirect_uri="https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=AaL_Xd5muLPKNVY_Hzt_uoBs@qrticket_0&

根据响应中的code代码识别登录状态。

请求跳转的登录链接,提取响应代码参数,响应如下:

6.初始化获取信息

请求初始化的链接,获取初始化响应数据。

根据响应中字段信息做信息操作,这里是获取好友列表,所以将其它字段如公众号、群聊、自己都去掉了,只保留好友信息。

7.主函数运行

模拟登录结果

好友列表如下:

当然,好友列表只是个例子,我们也可以对其它信息进行查看和管理或者数据分析。

总结

对于智能手机用户而言,微信几乎是所有人都不可避免的应用程序软件,毕竟微信是当前下载量最高、用户数最多、活跃度最高的社交软件了,不过这也直接导致微信成为智能手机内存空间最大杀手,甚至比《王者荣耀》等大型手游还要占据内存,所以学会正确处理微信缓存文件就显得十分重要了,毕竟大量的缓存文件占据空间不说,影响手机运行流畅度就真的让人抓狂了。

清理微信缓存

这是最通用,也是大家最为熟知的方法,通过清理微信缓存可以大量清理微信聊天图片、头像图片、语音文件、视频文件、朋友圈图片之类的缓存信息,彻底清理掉微信的缓存空间。具体操作:我-设置-通用-存储空间-清理微信缓存-确认。

关闭自动保存功能/自动下载功能

拍照、录制视频是微信用户最常见的日常聊天方式,但是很多用户不知道当我们在微信上拍的视频和图片信息发送给好友后,系统会将这些信息自动保存在系统中,这也就意味着你每次发送照片/视频时系统会进行微信、相册双重保存,占据双倍存储空间,如果不及时清理,日积月累也会占用许多内存空间,所以关闭这一功能也很有必要。此外,微信内置自动下载功能,当用户在其他设备查看照片、视频和文件时会在手机上自动下载,对于大多数用户而言这一功能并没有多大作用,但需要强调的是关闭这一功能后,聊天对话如果有重要紧急资料,记得及时保存在手机上。具体操作:我-设置-通用-照片、视频和文件-全部关闭即可。

取消关注不必要的公众号

公众号发展鼎盛时期用户关注了大量的公众号,但时至今日扪心自问数量众多的公众号你每天会打开多少呢?又有多少公众号早已被埋没在看不见的角落呢?但是这些公众号依旧会每天给我们推送信息,而这会造成大量的文件信息缓存,所以不妨检查一下你的公众号吧,该取消的就取消吧。

需要在这里给大家说明的是清理微信缓存绝不仅仅是为了清理手机内存,要知道随着手机内存的不断增长很多智能手机完全没必要清理内存也够用,但是大量的信息缓存与内存占用对手机本身的运行是一种巨大负担,所以定时对手机内存空间进行清理更是为了对手机瘦身、减轻手机运行压力,保持尽可能的运行流畅度,所以保持良好的缓存清理习惯有百利而无一害哦!

谢谢阅读!!!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180310G00VGP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券