搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 安全龙 > 小白用Python | 十分钟Python玩微信机器人教程

小白用Python | 十分钟Python玩微信机器人教程

安全龙 2017-10-30

代码放在这里: wzyonggege/python-wechat-itchat

词云那里可以换成小黄人图片

---------------------------------------------------------------------------------------------------

0. itchat

最近研究了一些微信的玩法,我们可以通过网页版的微信 微信网页版 ,扫码登录后去抓包爬取信息,还可以post去发送信息。

然后发现了 itchat 这个开源项目, 作者是 @LittleCoder ,已经把微信的接口完成了,大大的方便了我们对微信的挖掘,以下的功能也通过itchat来实现。

安装itchat这个库

pip install itchat

先来段简单的试用,实现微信的登录,运行下面代码会生成一个二维码,扫码之后手机端确认登录,就会发送一条信息给‘filehelper’,这个 filehelper 就是微信上的文件传输助手。

import itchat# 登录itchat.login()# 发送消息itchat.send(u'你好', 'filehelper')

除了登录和发送消息我们还可以这么来玩,往下走~

1. 微信好友男女比例

想统计下自己微信里好友的性别比例,当然也是很简单,先获取好友列表,统计列表里性别计数


小白用Python | 十分钟Python玩微信机器人教程


好看看结果:

小白用Python | 十分钟Python玩微信机器人教程

(好吧,暴露了我男性友人较多的真相~~)

好像不够直观,有兴趣的朋友可以加上可视化的展示,我这里用基于python的 Echarts (有机会再细讲) 

先安装了

pip install echarts-python

展示比例一般使用百分比圆饼表吧


小白用Python | 十分钟Python玩微信机器人教程


登登登登~

小白用Python | 十分钟Python玩微信机器人教程

2. 好友个性签名词云

获取好友列表的时候,返回的json信息中还看到了有个性签名的信息,脑洞一开,把大家的个性签名都抓下来,看看高频词语,还做了个词云。


小白用Python | 十分钟Python玩微信机器人教程

先全部抓取下来

打印之后你会发现,有大量的span,class,emoji,emoji1f3c3等的字段,因为个性签名中使用了表情符号,这些字段都是要过滤掉的,写个正则和replace方法过滤掉

小白用Python | 十分钟Python玩微信机器人教程

接来下用jieba分词,然后制作成词云,首先要安装jieba和wordcloud库

pip install jieba
pip install wordcloud

代码

小白用Python | 十分钟Python玩微信机器人教程

运行代码

小白用Python | 十分钟Python玩微信机器人教程

这。。好像有点丑,根据wordcloud用法,我可以找一张图来生成配色方案,我这里找了一张微信的logo

小白用Python | 十分钟Python玩微信机器人教程

修改一下代码

小白用Python | 十分钟Python玩微信机器人教程


小白用Python | 十分钟Python玩微信机器人教程

嗯~好像还可以,这是Mac下生成的,附一个win10下生成的

小白用Python | 十分钟Python玩微信机器人教程

3. 微信自动回复

接着来实现一个类似qq上的自动回复,原理就是接收到消息,就发消息回去,同时发一条给文件助手,就可以在文件助手中统一查看消息。

代码很简单,来看看

小白用Python | 十分钟Python玩微信机器人教程

运行后会保持登录状态,开启自动回复模式,手机上查看:

当然,除了文字Text信息,还可以接收图片(表情包算图片),语音,名片,地理位置,分享和类型为Note的信息(就是有人提示类的消息,例如撤回消息),把装饰器写成下面形式即可接受,大家可以试试

@itchat.msg_register(['Map', 'Card', 'Note', 'Sharing', 'Picture'])

来源:http://www.cnblogs.com/jiaoyu121/p/6944398


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《小白用Python | 十分钟Python玩微信机器人教程》的版权归原作者「安全龙」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注安全龙微信公众号

安全龙微信公众号:hackyue520

安全龙

手机扫描上方二维码即可关注安全龙微信公众号

安全龙最新文章

精品公众号随机推荐

上一篇 >>

Flask钩子函数

下一篇 >>

Python语法总结