(點選上方快速關註並設定為星標,一起學Python)
來源:公眾號—裸睡的豬 連結:
https://mp.weixin.qq.com/s/LQ_4GcI9c_MeBTpQKc7eAg
微信,一個日活10億的超級app,不僅在國內社交獨領風騷,在國外社交也同樣佔有一席之地。今天我們要講的便是如何用Python來做一個微信聊天機器人,突然想起魯迅先生曾經說過的一句話:
因為是微信機器人系列的第一篇文章,所以豬哥會特別詳細的講解每一個地方,使零基礎的同學也能順順利利的開始,下麵就讓我們一起來做些有趣的事吧!
一、專案介紹
1.微信庫選擇
python關於開發微信的庫主要有itchat
和wxpy
,而wxpy
底層是呼叫的itchat
,所以如果你只是要使用的話建議使用wxpy
庫,它比其他的庫都要優雅,更面向物件,而且深度整合了圖靈機器人
和小i機器人
;而itchat
擴充套件性更好,如果你想自己開發一個自己的微信庫那建議選itchat
。
2.實現原理
我相信有不少同學使用過微信的網頁版,而wxpy
(底層使用itchat
)庫就是模擬登入網頁端,然後呼叫微信的api實現操作的,我們可以檢視itchat
原始碼發現。
總之大家記住,目前wxpy
和itchat
都是模擬網頁版微信來操作的。
3.圖靈機器人
既然可以模擬網頁微信了,那又如何做到自動回覆呢?這裡我們就使用到了圖靈機器人
,大家可以在他們的官網(http://www.tuling123.com)免費註冊賬號,然後申請一個免費的機器人,每個人最多免費申請五個機器人。
我會在專案程式碼中給一個預設的apikey,讓大家不用申請機器人就可以直接執行專案,但是豬哥還是建議同學自己去申請,因為這個預設的apikey有呼叫次數限制,況且這算是一筆免費的財富呢!
4.整體流程
為了方便大家理解,豬哥給大家畫了一個時序圖
二、專案程式碼
先來張專案結構圖壓壓驚:
1.下載專案
豬哥已經把專案放在了GitHub上,群裡有小夥伴反饋不會使用github,這裡我就詳細講一下如何從github上下載專案。
註意:github與git不是同一個東西,github是全球最大的同性戀交友論壇,在這裡我們不比顏值與財富,只比誰的專案
star
多,star越多也就說明你越吸引同性的喜歡與愛慕,甚至連你的同事也會愛上你!而git是專案管理工具,github上的專案就是用git來管理,專案管理工具另一派系是svn。
首先找到你需要下載的專案,然後點選Clone or download
,然後點選右側的複製按鈕,豬哥這個專案的地址是:https://github.com/pig6/wxrobot
然後開啟你的pycharm,選擇CSV
->Checkout from version control
->git
,然後貼上剛才複製的專案連結。
最後pycharm可能會提示你使用 新視窗開啟 還是用 當前視窗 開啟,豬哥一般習慣使用 新視窗(New Window) 開啟,這樣可以避免多個專案開發時造成混亂。
2.下載wxpy庫
專案下載下來之後,因為沒有安裝必須的庫wxpy
,pycharm可能會有如下提示,這時我們點一下install就可以。
如果沒有出現安裝庫提示的話,我們可以在Setting
->Project
->Project Interpreter
裡面新增wxpy
庫。
或者使用以下命令安裝wxpy庫,如果你是pip3則替換下麵的pip。
pip install -U wxpy -i “https://pypi.doubanio.com/simple/“
3.執行專案
你可以按右上角的綠色三角形按鈕,也可以右鍵專案然後點選run
。
執行之後彈出登入二維碼,手機微信掃一掃點選確定登入即可和好友聊天。
三、總結
首先感謝大家的耐心閱讀,考慮到有很多零基礎的同學所以文章有點長。
豬哥來總結下這幾天使用wxpy
庫開發微信機器人的一些感受吧!
- 豬哥用自己的大號測試了一週,也沒有出現被封的跡象,只要不傳送大量的相同資訊就沒問題
- 即使出現被封也只是會限制你微信登入網頁版,手機端不影響使用,正常使用大概一兩周就自動解封
- 最好用小號測試,據說2018年及以後註冊的微訊號都不可以登微信網頁版,也就是說不能用測試
- 微信網頁版有些功能被閹割了,比如:新增好友,拉人入群等,因為怕微商使用機器人到處作惡所以才閹割
- 目前只開發了一個功能,先讓大家入門,後面的功能會慢慢豐富起來
- 目前wxpy基於微信網頁登入,很多功能無法實現,後期考慮跟換成iPad登入
- 圖靈機器人智商有待提高
- 最後感謝武亞飛同學提供的微信小號
Github專案地址:https://github.com/pig6/wxrobot(或點選閱讀原文)
wxpy官方檔案:https://wxpy.readthedocs.io/zh/latest
請大家轉發分享出去,讓想學習的同學能免費學習~
朋友會在“發現-看一看”看到你“在看”的內容