基於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體驗,還有更多好玩的功能可以發掘。歡迎各位看官關注!


分享到:


相關文章: