今天小编憋了一个上午,也没憋出来和Python相关的文章,于是乎,在网上搜集了一些相关知识,这篇有趣的文章分享给各位小伙伴!
用python实现微信聊天
如果你感觉学不会?莫慌,小编推荐大家加入群,
前面548中间377后面875,群里有志同道合的小伙伴,
互帮互助,还可以拿到许多视频教程!
安装非常简单,从官方源下载安装
pip install -U wxpy
或者从豆瓣源安装
模块初探
安装完成后,我们来试下几个基本的功能
1. 扫码登录微信
from wxpy import *
bot = Bot()
运行上面的程序,会弹出二维码,用手机微信扫一扫即可实现登录。
但上面的程序有一个缺点,每次运行都要扫二维码。不过wxpy非常贴心地提供了缓存的选项,如下
bot = Bot(cache_path=True)
这样把登录信息保存下来,就不用每次都扫二维码了。
2. 发送消息
bot.file_helper.send("hello")
这里的file_helper就是微信的文件传输助手,我们给文件传输助手发送一条消息,可以在手机端收到如下的消息
3. 接受消息
我们实现一个收到消息自动回复的功能。
# 进入Python命令行,让程序保持运行
embed()
打开自己的公众号管理平台,在后端向自己发送消息,就可以收到如下的消息回复
4. 搜索好友及微信群
我们来实现一个搜索公司群、定位老板并转发老板消息的功能
from wxpy import *
bot = Bot(cache_path=True)
# 定位公司群
company_group = bot.groups().search('公司微信群')[0]
# 定位老板
boss = company_group.search('老板大名')[0]
# 将老板的消息转发到文件传输助手
# 堵塞线程
embed()
对于老板喜欢在群里面喊话的同学来说,这是一个福音,以后再也不用担心错失老板的重要信息了~~
数据统计
wxpy的好友统计功能非常好用,可以很方便地统计好友的地理位置分布和性别分布。
下面的代码中,统计了下自己的好友的分布情况,并打印出人数最多的10个地区。
统计出来的地区分布数据画成图表如下
大多数的好友也来自上海,上面的图表也如实地反应了这一情况。
统计性别分布的代码如下
for sex, count in friends_stat["sex"].iteritems():
# 1代表MALE, 2代表FEMALE
if sex == 1:
print "MALE %d" % count
elif sex == 2:
print "FEMALE %d" % count
把性别分布的数据生成图表如下
可以看到好友中男性占了大多数。男性朋友多多,老婆放心多多,嗯~~
聊天机器人
有了上面功能简介部分的基础,我们来实现一个聊天机器人。
聊天机器人基于图灵机器人。图灵机器人可以在图灵机器人-中文语境下智能度最高的机器人大脑注册账号,并创建机器人。需记下api key,调用图灵API的时候会用到。
运行上面的程序,发送消息给自己,可以看到如下的对话
机器人太逗了,上来就要红包,还把我当男朋友了~
Python实现的微信好友数据分析
数据分析
分析微信好友数据的前提是获得好友信息,通过使用 itchat 这个模块,这一切会变得非常简单,我们通过下面两行代码就可以实现:
itchat.auto_login(hotReload = True)
friends = itchat.get_friends(update = True)
同平时登录网页版微信一样,我们使用手机扫描二维码就可以登录,这里返回的friends对象是一个集合,第一个元素是当前用户。所以,在下面的数据分析流程中,我们始终取friends[1:]作为原始输入数据,集合中的每一个元素都是一个字典结构,以我本人为例,可以注意到这里有Sex、City、Province、HeadImgUrl、Signature这四个字段,我们下面的分析就从这四个字段入手:
领取专属 10元无门槛券
私享最新 技术干货