【Python寫微信防撤回腳本】01 熟悉ItChat庫

微信有一個很神奇的功能,你能夠在消息發出去兩分鐘以內撤回消息。說錯話了,你能夠趁別人沒有看到趕忙撤回;消息發錯地方了,能夠立刻撤回以避免尷尬。可是,不知道有沒有像我同樣的強迫症,看到別人撤回了一條消息,就必需要知道他/她到底發了什麼,否則一天都不爽的。若是你也是,那麼恭喜你,看完這個系列文章你就應該有辦法查看那些該死的被撤回的消息。

開發環境準備

按照慣例,咱們仍是用Python來編寫這個腳本。爲了能查看微信被撤回的消息,首先咱們須要一個能登錄微信的庫。Python有不少這樣的庫,好比ItChatwxpy等,這裏採用我用的最多的ItChat庫。html

因爲ItChat是經過模擬登錄網頁版微信實現微信的部分功能,因此你須要有一個可以登錄網頁版微信的微信號。怎麼知道本身的微信能不能登錄呢?複製下面的網址打開,用微信掃碼,若是能登錄那就是能夠的。python

https://wx.qq.com/

經過下面的命令安裝ItChatgit

pip install itchat

安裝完以後,打開Python編譯器,若是能導入就是安裝成功:github

import itchat

登錄微信

接下來,咱們來看看這個神奇的庫是如何登錄微信的。實現的方法有不少,咱們看看最簡單的一種:微信

import itchat

itchat.auto_login()
itchat.run()

包括導入包的代碼,總共3行代碼!ui

運行以後,會輸出以下信息:this

Getting uuid of QR code.
Downloading QR code.
Please scan the QR code to log in.

同時會出現一個二維碼,程序運行目錄會多出一個QR.png文件。沒錯,這個二維碼就是程序自動獲取的上面那個網頁版微信的二維碼,因此須要你用微信掃一掃實現登錄。用微信掃描以後,程序會輸出:spa

Please press confirm on your phone.

這時你在手機上點擊確認。確認以後,程序就開始加載你的通信錄,同時輸出一下信息:3d

Loading the contact, this may take a little while.
Login successfully as ****
Start auto replying.

這時候你就看到你的微信已經成功登錄,多出的QR.png文件也已經自動刪除。並且已經能夠自動應答,同時你的手機微信最上方也會顯示「網頁微信已登陸」的信息:code

不過,這時若是你重開程序你就須要從新掃碼登錄。這也太麻煩了,ItChat也想到了這些,爲咱們提供了免除這一麻煩的方式。其實也很簡單,只須要在登錄的方法中加一個參數便可:

itchat.auto_login(hotReload=True)

一樣的方式登錄,咱們會發現程序運行目錄會多出一個itchat.pkl文件,這個文件中就存儲了咱們的微信登錄信息。

這時候若是重開程序就不須要從新掃碼了。可是若是中間間隔好幾天,由於這時候登錄信息已通過期,也仍是須要掃碼的。

下期預告

今天簡單的介紹瞭如何搭建開發環境以及如何登錄微信,下一期會詳細介紹怎麼接收信息,怎麼判斷信息被撤回。

無論寫什麼,但願能跟更多人溝通,有問題或者需求隨時歡迎交流。

我全部的項目源碼都會放在下面的github倉庫裏面,有須要能夠參考,有問題歡迎指正,謝謝!

https://github.com/TitusWongCN/

下面是個人公衆號,有興趣能夠掃一下:

相關文章
相關標籤/搜索