0基礎也能做:Python建立微信機器人
微信,一個日活10億的超級app,不僅在國內社交獨領風騷,在國外社交也同樣佔有一席之地。今天我們要講的便是 如何用Python來做一個微信聊天機器人 ,突然想起魯迅先生曾經說過的一句話:

image
因為是微信機器人系列的第一篇文章,所以豬哥會特別詳細的講解每一個地方,使 零基礎 的同學也能順順利利的開始,下面就讓我們一起來做些有趣的事吧!

image
Python學習交流群:556370268,這裡有資源共享,技術解答,還有小編從最基礎的Python資料到專案實戰的學習資料都有整理,希望能幫助你更瞭解python,學習python。
一、專案介紹
1.微信庫選擇
python關於開發微信的庫主要有itchat和wxpy,而wxpy底層是呼叫的itchat,所以如果你只是要使用的話建議使用wxpy庫,它比其他的庫都要優雅,更面向物件,而且深度整合了圖靈機器人和小i機器人;而itchat擴充套件性更好,如果你想自己開發一個自己的微信庫那建議選itchat。
2.實現原理
我相信有不少同學使用過微信的網頁版,而wxpy(底層使用itchat)庫就是模擬登入網頁端,然後呼叫微信的api實現操作的,我們可以檢視itchat原始碼發現。

image

image
總之大家記住, 目前wxpy和itchat都是模擬網頁版微信來操作的 。
3.圖靈機器人
既然可以模擬網頁微信了,那又如何做到自動回覆呢?這裡我們就使用到了圖靈機器人,大家可以在他們的官網( http://www.tuling123.com )免費註冊賬號,然後申請一個免費的機器人,每個人最多免費申請五個機器人。

image
我會在專案程式碼中給一個預設的apikey,讓大家不用申請機器人就可以直接執行專案,但是豬哥還是建議同學自己去申請,因為這個預設的apikey有呼叫次數限制,況且這算是一筆免費的財富呢!
4.整體流程
為了方便大家理解,豬哥給大家畫了一個時序圖

image
二、專案程式碼
先來張專案結構圖壓壓驚:

image
1.下載專案
豬哥已經把專案放在了GitHub上,群裡有小夥伴反饋不會使用github,這裡我就詳細講一下如何從github上下載專案。
注意:github與git不是同一個東西,github是全球最大的同性戀交友論壇,在這裡我們不比顏值與財富,只比誰的專案star多,star越多也就說明你越吸引同性的喜歡與愛慕,甚至連你的同事也會愛上你!而git是專案管理工具,github上的專案就是用git來管理,專案管理工具另一派系是svn。

image
首先找到你需要下載的專案,然後點選Clone or download,然後點選右側的複製按鈕,豬哥這個專案的地址是: https://github.com/pig6/wxrobot

image
然後開啟你的pycharm,選擇CSV->Checkout from version control->git,然後貼上剛才複製的專案連結。

image

image
最後pycharm可能會提示你使用 新視窗開啟 還是用 當前視窗 開啟,豬哥一般習慣使用 新視窗(New Window) 開啟,這樣可以避免多個專案開發時造成混亂。
2.下載wxpy庫
專案下載下來之後,因為沒有安裝必須的庫wxpy,pycharm可能會有如下提示,這時我們點一下install就可以。

image
如果沒有出現安裝庫提示的話,我們可以在Setting->Project->Project Interpreter裡面新增wxpy庫。

image
或者使用以下命令安裝wxpy庫,如果你是pip3則替換下面的pip。
pip install -U wxpy -i “ https://pypi.doubanio.com/simple/ “
3.執行專案
你可以按右上角的綠色三角形按鈕,也可以右鍵專案然後點選run。

image
執行之後彈出登入二維碼,手機微信掃一掃點選確定登入即可和好友聊天。
三、總結
首先感謝大家的耐心閱讀,考慮到有很多零基礎的同學所以文章有點長。
豬哥來總結下這幾天使用wxpy庫開發微信機器人的一些感受吧!
- 豬哥用自己的大號測試了一週,也沒有出現被封的跡象,只要不傳送大量的相同資訊就沒問題
- 即使出現被封也只是會限制你微信登入網頁版,手機端不影響使用,正常使用大概一兩週就自動解封
- 最好用小號測試,據說2018年及以後註冊的微訊號都不可以登微信網頁版,也就是說不能用測試
- 微信網頁版有些功能被閹割了,比如:新增好友,拉人入群等,因為怕微商使用機器人到處作惡所以才閹割
- 目前只開發了一個功能,先讓大家入門,後面的功能會慢慢豐富起來
- 目前wxpy基於微信網頁登入,很多功能無法實現,後期考慮跟換成iPad登入
- 圖靈機器人智商有待提高
Python學習交流群:556370268,這裡有資源共享,技術解答,還有小編從最基礎的Python資料到專案實戰的學習資料都有整理,希望能幫助你更瞭解python,學習python。
