Python骚操作 | 还原已撤回的微信消息
點擊上方“Python爬蟲與數據挖掘”,進行關注
回復“書籍”即可獲贈Python從入門到進階共10本電子書
今
日
雞
湯
草長鶯飛二月天,拂堤楊柳醉春煙。一大早醒來,發現女神昨晚發來三條消息,但是顯示都已撤回,OMG,我錯過了什么?群里有一個漂亮妹紙的爆照照片撤回了,想看又看不到!群里大佬分享的經典語錄被撤回了,感覺錯過一個億!怎么辦?用無所不能的 Python 就可以將這些撤回的消息發給你的微信,讓你從此走上人生巔峰
項目環境
語言:Python3
編輯器:Pycharm
導包
itchat:控制微信的第三方庫
這個庫相信大家不陌生了,之前寫的 Python 機器人陪你聊天? ?Python 定時給女神發早安?兩篇文章里用的 wxpy 庫就是在 itchat 庫的基礎上封裝的。
效果展示
以下截圖顯示的撤回消息類型依次是文字消息、微信自帶表情、圖片、語音、定位地圖、名片、公眾號文章、音樂、視頻。有群里撤回的,也有個人號撤回的。
程序思路
主要由兩部分組成:
handler_receive_msg():處理接收到的消息,將消息臨時放在字典中。
send_msg_helper():將撤回的消息自動發給文件傳輸助手。
程序分析
首先,我們定義一個字典來儲存消息,定義消息儲存的臨時路徑。
接收信息處理
先將我們需要處理的消息用 msg_register 裝飾器進行注冊,格式化本地時間,定義消息 ID 和消息時間。如果是群成員而且是自己微信好友撤回消息,則顯示撤回消息的名稱是你備注的名字,如果沒有備注名字,則顯示名稱為微信昵稱。
獲取你的所有群的消息,判斷出撤回的消息來自哪個群,顯示出群名稱。
個人消息處理
如果為個人聊天信息,也是優先顯示備注名稱,沒有備注名就顯示昵稱。
各類型消息處理
用判斷語句對各種類型的消息進行處理,包括文字消息、微信自帶的表情和收藏的表情、圖片、語音、位置、名片、分享、附件、視頻。多條件時這里用了 in 的用法,還記得之前講? Python 優雅的寫法? 文章里把用 or 連接條件改成用 in,代碼更簡潔,這樣我們通過項目不斷的鞏固之前學到的知識點,這樣才能不斷進步。
更新信息字典
處理撤回消息
先判斷是否是撤回消息,將撤回消息發送到你的文件傳輸助手里,把上面函數儲存的消息的發送人、發送類型、發送時間、撤回的內容發出來。以下是部分代碼。
主函數
最后用主函數執行微信的登錄和運行。第一次需要掃碼登錄微信,登錄時加上 hotReload 參數,為 True 時,短時間內再次運行會保存上次微信的登錄態,不需要再次掃碼登錄。
如果你電腦中有安裝 Python 環境,在編輯器中直接運行源碼或者在 cmd 中運行 py 文件即可。源碼獲取方式在文末給出。有需要的話以后可以做成界面化工具,掛在服務器上,支持做成界面化工具的點個贊看看,我看看需求量,哈哈。
寫在最后
今天的分享就到這里了,需要優化的地方:撤回的視頻只支持查看微信自帶拍的視頻,非微信自帶拍的視頻打開無法查看。長時間運行時會報?ConnectionError 提示的錯誤,但是不影響發送撤回消息的功能,后期加個異常捕捉機制優化下。
趕緊動手試試吧,把你朋友撤回的消息發給 TA 看看,看看他是什么反應,有趣的撤回消息發到朋友圈去提高逼格,奈斯!
在公眾號后臺回復「撤回」獲取本項目的源碼。
原創不易,覺得有意思的點贊轉發分享下唄,對我也是一種鼓勵,有什么問題歡迎在后臺聯系我,也可以在后臺加入技術交流群,群里有大神,可以一起交流學習。
-------------------?End?-------------------
往期精彩文章推薦:
粉絲福利——2019精選學習資源分享
Python環境搭建—安利Python小白的Python和Pycharm安裝詳細教程
歡迎大家點贊,留言,轉發,轉載,感謝大家的相伴與支持
想加入Python學習群請在后臺回復【入群】
萬水千山總是情,點個【在看】行不行
總結
以上是生活随笔為你收集整理的Python骚操作 | 还原已撤回的微信消息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信云开发技术架构
- 下一篇: 双十一自动领喵币工具