基于wxpy实现微信聊天机器人

iChat是一个开源的微信个人号接口,wxpy基于iChat优化了模块的易用性,使用wxpy能够通过微信实现很多好玩的功能,比如统计好友信息,实现聊天机器人,通过微信远程控制电脑等。本文将基于wxpy库实现为微信好友地域统计并可视化以及聊天机器人的实现。

基于wxpy实现微信聊天机器人

微信好友统计可视化

  • 准备

微信已经为我们沟通的首选工具,随着使用时间的推移,微信中的好友数量也会随之增加。通过wxpy库能够快速获得微信中的好友、群聊、公众号等信息,详细的介绍见官方文档:http://wxpy.readthedocs.io/zh/latest/index.html。简单的统计了一下自己微信的好友信息,对好友的地域信息进行可视化,直观的查看自己好友的地域分布。

首先我们需要安装wxpy库,可以通过简单的pip指令安装;我们需要将数据进行可视化输出,我们使用Pyecharts库,以地图的形式展示各个省份的好友数量。Pyecharts前面已经有过使用:基于Python实现空气质量指数可视化

  • 实现

定义两个函数,log_in()用来登陆微信;show_friends(friends,friends_data)用来统计信息并可视化,该函数包含换两个形参,用来接收实参传递;最后分别调用这两个函数。基本结构如下:

基于wxpy实现微信聊天机器人

log_in()函数用来实现为微信扫码登陆功能,我们使用bot = wxpy.Bot(cache_path=True)来创建一个机器人实例,相当于我们的为微信客户端,bot实例就包含了登陆微信的所有信息,cache_path设置为True是为了不用每次运行代码都进行扫码登陆,起到缓冲作用;最后我们获得所有的好友信息并返回:

基于wxpy实现微信聊天机器人

接下来是show_friends(friends,friends_data)函数,log_in()返回的好友信息用形参friends接收,形参friends_data用来接收存储好友所在地以及数量的信息。接着利用Pyecharts库的地图(Map)进行可视化:

基于wxpy实现微信聊天机器人

调用函数实现的效果如下:

基于wxpy实现微信聊天机器人

聊天机器人

  • 准备

聊天机器人我们调用图灵机器人接口,首先我们需要到http://www.tuling123.com去注册属于自己的图灵机器人接口,注册完成之后找到apikey。免费版本一天可以调用1000条,对于我们体验来说已经足够,收费版本更具智能性,像淘宝、京东上的智能客服就属于这种类型。

  • 实现

定义一个函数tuling_robot(msg)用来获取图灵机器人的回复,msg用来接收好友发来的信息:

基于wxpy实现微信聊天机器人

在主函数中登陆微信、确定回复范围并调用图灵机器人,回复范围可以是好友,也可以是群聊以及微信公众号。以下为实现代码以及实现的效果:

基于wxpy实现微信聊天机器人

基于wxpy实现微信聊天机器人

基于wxpy实现微信聊天机器人

基于wxpy实现微信聊天机器人

修改一下程序,获取微信所有的公众号列表,在微信公众号实现聊天机器人:

基于wxpy实现微信聊天机器人

基于wxpy实现微信聊天机器人

结束

以上为简单的wxpy体验,还有更多好玩的功能可以发掘。欢迎各位看官关注!


分享到:


相關文章: