大家對於微信的使用,想必都是非常的頻繁,而圍繞微信所產生的各種小應用,更是層出不窮,在吸引大家關注的同時更是增添了大家對於玩微信的樂趣。
今天,小編為大家介紹一個玩轉微信的python庫——**PyWeChatSpy**。並利用PyWeChatSpy庫來實現利用表情包自動回復“拍一拍”,話不多說,咱們進入主題。
>很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過后,不知道在哪里尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那么針對這三類人,我給大家提供一個好的學習平台,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ群:957324352
01.PyWeChatSpy安裝
對於PyWeChatSpy庫,其項目的地址為:https://github.com/veikai/PyWeChatSpy。對於該庫的最新版本的安裝,大家首先需要創建python3.8的環境,小編是基於Anaconda3進行創建的,所以可以利用下述命令來創建python3.8的環境。
conda create -n python38 python=3.8
上述的命令中,-n代表了我們創建的環境的名稱,而通過python=3.8來指定了我們要創建的是python3.8的環境。
環境創建完畢后,接下來就可以運行pip install PyWeChatSpy來安裝PyWeChatSpy庫。安裝完成后,我們來看一下項目的主頁:
可以看到,項目主頁中包含了幾個非常好的示例,包括了example.py和“拍一拍”的案例展示。下面我們來看一下如何使用PyWeChatSpy庫吧。
02.PyWeChatSpy使用
在使用PyWeChatSpy時,需要注意的是,PyWeChatSpy庫需要的PC微信版本是2.8.0.133版本。所以大家需要安裝2.8.0.133版本的微信。安裝包小編已經為大家准備好,可以直接咨詢小助手獲取。安裝好微信之后,我們可以通過程序來啟動微信並使用。
對於PyWeChatSpy庫的使用,首先是創建一個WeChatSpy對象,然后開始啟動微信。如下圖程序所示,其中parser參數是我們設置的函數,用來接收並處理微信數據。
而在spy.run函數中,大家只需要輸入微信的可執行程序的地址即可運行程序。
對於PyWeChatSpy庫的使用,項目的作者給出了example.py的案例展示,下面我們以example.py為基礎進行功能的展示,首先程序會判斷微信數據的類型,如下圖所示。
上述的程序中,如果數據的類型是WECHAT_CONNECTED的話,那么就代表的是微信連接成功,而后面的WECHAT_LOGIN和WECHAT_LOGOUT,則是代表着微信的額登錄和登出成功的提示。
如果大家想要獲取所有的微信數據的類型信息的話,可以到PyWeChatSpy庫下的command.py文件內進行查看,如下圖所示:
可以看到,command.py文件下包含了大量的微信數據信息類型的判斷,包括了聯系人列表、創建、分享群聊、移除聯系人等等數據類型。
在所有的數據類型中,我們應該最注意的是數據類型為MESSAGE的微信數據類型,因為這類數據表示的是我們與好友交流時的微信數據內容,例如文字信息,圖片和語音等內容。對於MESSAGE數據類型的處理,程序如下圖所示。
上述的程序中,首先判斷數據類型是MESSAGE類型,然后判斷數據中的信息的類型,例如:
“1”:文本信息
“3”:圖片信息
“37”:好友請求信息
“10000":”拍一拍“信息
只要判斷好數據中的信息類型后,就可以對數據進行相應的處理。例如下圖中,我們將好友之間的微信信息在程序中進行展示,並將好友之間發送的信息直接保存到指定的本地文件夾內。
上圖中可以看到,通過PyWeChatSpy庫可以在程序的運行中,捕獲並打印好友之間的文字信息,同時輸出信息來源,並將好友發送的圖片保存到指定的文件夾內。
在進行PyWeChatSpy庫和用法的介紹后,我們來實現以下,利用PyWeChatSpy庫來自動回復朋友的”拍一拍“信息。
上述的程序中,首先我們判斷信息是屬於系統的”拍一拍“提示,然后利用正則表達式進行匹配,來進一步確認是系統的”拍一拍“提示,接着我們直接隨機讀取本地的一張圖片,然后來發送給好友,實現自動回復”拍一拍“的功能。
通過PyWeChatSpy庫,我們實現了自動回復好友”拍一拍“的功能,大家可以自己來按照上面的教程來安裝PyWeChatSpy庫,來自動回復好友的”拍一拍“,並用它來拓展更多更好玩的微信小功能吧。
在這里還是要推薦下我自己建的Python開發學習群:957324352,群里都是學Python開發的,如果你想學或者正在學習Python ,歡迎你加入,大家都是軟件開發黨,不定期分享干貨(只有Python軟件開發相關的),包括我自己整理的一份2020最新的Python進階資料和高級開發教程,歡迎進階中和進想深入Python的小伙伴!