itchat
最近研究了一些微信的玩法,我们可以通过网页版的微信微信网页版,扫码登录后去抓包爬取信息,还可以post去发送信息。
然后发现了itchat这个开源项目,作者是@LittleCoder,已经把微信的接口完成了,大大的方便了我们对微信的挖掘,以下的功能也通过itchat来实现。
安装itchat这个库
pip install itchat
先来段简单的试用,实现微信的登录,运行下面代码会生成一个二维码,扫码之后手机端确认登录,就会发送一条信息给‘filehelper’,这个filehelper就是微信上的文件传输助手。
|
|
除了登录和发送消息我们还可以这么来玩,往下走~
1. 微信好友男女比例
想统计下自己微信里好友的性别比例,当然也是很简单,先获取好友列表,统计列表里性别计数
|
|
好看看结果:
(好吧,暴露了我男性友人较多的真相~~)
好像不够直观,有兴趣的朋友可以加上可视化的展示,我这里用基于python的Echarts(有机会再细讲)
先安装了
|
|
展示比例一般使用百分比圆饼表吧
|
|
登登登登~
2. 好友个性签名词云
获取好友列表的时候,返回的json信息中还看到了有个性签名的信息,脑洞一开,把大家的个性签名都抓下来,看看高频词语,还做了个词云。
|
|
先全部抓取下来
打印之后你会发现,有大量的span,class,emoji,emoji1f3c3等的字段,因为个性签名中使用了表情符号,这些字段都是要过滤掉的,写个正则和replace方法过滤掉
|
|
接来下用jieba分词,然后制作成词云,首先要安装jieba和wordcloud库
|
|
代码
|
|
运行代码
这。。好像有点丑,根据wordcloud用法,我可以找一张图来生成配色方案,我这里找了一张微信的logo
修改一下代码
|
|
3. 微信自动回复
接着来实现一个类似qq上的自动回复,原理就是接收到消息,就发消息回去,同时发一条给文件助手,就可以在文件助手中统一查看消息。
代码很简单,来看看
|
|
运行后会保持登录状态,开启自动回复模式,手机上查看:
当然,除了文字Text信息,还可以接收图片(表情包算图片),语音,名片,地理位置,分享和类型为Note的信息(就是有人提示类的消息,例如撤回消息),把装饰器写成下面形式即可接受,大家可以试试
|
4. 最后
除了上面这些,还可以做到管理微信群,自动添加好友,还可以加入机器人回复功能,有时间会补上。
再次感谢itchat作者@LittleCoder
Ps
本人使用的Python版本 [Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32]
在win10环境下坑B的地方使用echart报错
参照 => https://github.com/yufeiminds/echarts-python/issues/14
文件位置 => C:\Users***\AppData\Local\Programs\Python\Python36\Lib\site-packages\echarts__init__ .py