• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

教你用Python创建微信聊天机器人

python 搞代码 4年前 (2022-01-09) 31次浏览 已收录 0个评论

这篇文章主要手把手教你用Python创建微信聊天机器人,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

最近研究微信API,发现个非常好用的python库:wxpy。wxpy基于itchat,使用了 Web 微信的通讯协议,实现了微信登录、收发消息、搜索好友、数据统计等功能。

这里我们就来介绍一下这个库,并在最后实现一个聊天机器人。

有没有很兴奋?有没有很期待?

好了,接下来,开始我们的正题。

准备工作

安装非常简单,从官方源下载安装

pip install -U wxpy

或者从豆瓣源本文来源gao@!dai!ma.com搞$$代^@码!网!安装

pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

模块初探

安装完成后,我们来试下几个基本的功能

1. 扫码登录微信

from wxpy import *bot = Bot()

运行上面的程序,会弹出二维码,用手机微信扫一扫即可实现登录。
但上面的程序有一个缺点,每次运行都要扫二维码。不过wxpy非常贴心地提供了缓存的选项,如下

bot = Bot(cache_path=True)

这样把登录信息保存下来,就不用每次都扫二维码了。

2. 发送消息

bot.file_helper.send("hello")

这里的file_helper就是微信的文件传输助手,我们给文件传输助手发送一条消息,可以在手机端收到如下的消息

3. 接受消息

我们实现一个收到消息自动回复的功能。

@bot.register()def print_message(msg):  print(msg.text)  return msg.text# 进入Python命令行,让程序保持运行embed()

强哥打开自己的公众号管理平台,在后端向自己发送消息,就可以收到如下的消息回复

4. 搜索好友及微信群

我们来实现一个搜索公司群、定位老板并转发老板消息的功能

from wxpy import *bot = Bot(cache_path=True)# 定位公司群company_group = bot.groups().search('公司微信群')[0]# 定位老板boss = company_group.search('老板大名')[0]# 将老板的消息转发到文件传输助手@bot.register(company_group)def forward_boss_message(msg):  if msg.member == boss:   msg.forward(bot.file_helper, prefix='老板发言')# 堵塞线程embed()

对于老板喜欢在群里面喊话的同学来说,这是一个福音,以后再也不用担心错失老板的重要信息了~~

数据统计

wxpy的好友统计功能非常好用,可以很方便地统计好友的地理位置分布和性别分布。

下面的代码中,强哥统计了下自己的好友的分布情况,并打印出人数最多的10个地区。

from wxpy import *bot = Bot(cache_path=True)friends_stat = bot.friends().stats()friend_loc = [] # 每一个元素是一个二元列表,分别存储地区和人数信息for province, count in friends_stat["province"].iteritems(): if province != "": friend_loc.append([province, count])# 对人数倒序排序friend_loc.sort(key=lambda x: x[1], reverse=True)# 打印人数最多的10个地区for item in friend_loc[:10]: print item[0], item[1]

统计出来的地区分布数据画成图表如下

强哥身在上海,大多数的好友也来自上海,上面的图表也如实地反应了这一情况。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:教你用Python创建微信聊天机器人

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址