利用Python找回微信撤回信息
一條撤回的微信消息,就像一個(gè)秘密,讓你迫切地想去一探究竟;或如一個(gè)誘餌,瞬間勾起你強(qiáng)烈的興趣。你想知道,那是怎樣的一句話?是對(duì)方不慎講出的真話,還是一句發(fā)錯(cuò)了對(duì)象的話?
總之,這個(gè)撤回的消息,讓人頓生×××。這個(gè)時(shí)候,就是技術(shù)人員出馬的時(shí)候了。
Python查看微信撤回消息參考代碼:
import itchat from itchat.content import * import os import time import xml.dom.minidom # 解析xml模塊 # 這是保存撤回消息的文件目錄(如:圖片、語(yǔ)音等) temp = 'C:/Users/Administrator/Desktop/CrawlerDemo' + '/' + '撤回的消息' if not os.path.exists(temp): os.mkdir(temp) itchat.auto_login(True) # 自動(dòng)登錄 dict = {} # 定義一個(gè)字典 # 這是一個(gè)裝飾器,給下面的函數(shù)添加新功能 # 能夠捕獲好友發(fā)送的消息,并傳遞給函數(shù)參數(shù)msg @itchat.msg_register([TEXT, PICTURE, FRIENDS, CARD, MAP, SHARING, RECORDING, ATTACHMENT, VIDEO]) # 文本,語(yǔ)音,圖片 def resever_info(msg): global dict # 聲明全局變量 info = msg['Text'] # 取出消息內(nèi)容 msgId = msg['MsgId'] # 取出消息標(biāo)識(shí) info_type = msg['Type'] # 取出消息類型 name = msg['FileName'] # 取出消息文件名 # 取出消息發(fā)送者標(biāo)識(shí)并從好友列表中檢索 fromUser = itchat.search_friends(userName=msg['FromUserName'])['NickName'] ticks = msg['CreateTime'] # 獲取信息發(fā)送的時(shí)間 time_local = time.localtime(ticks) dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local) # 格式化日期 # 將消息標(biāo)識(shí)和消息內(nèi)容添加到字典 # 每一條消息的唯一標(biāo)識(shí)作為鍵,消息的具體信息作為值,也是一個(gè)字典 dict[msgId] = {"info": info, "info_type": info_type, "name": name, "fromUser": fromUser, "dt": dt} @itchat.msg_register(NOTE) # 監(jiān)聽系統(tǒng)提示 def note_info(msg): # 監(jiān)聽到好友撤回了一條消息 if '撤回了一條消息' in msg['Text']: # 獲取系統(tǒng)消息中的Content結(jié)點(diǎn)值 content = msg['Content'] # Content值為xml,解析xml doc = xml.dom.minidom.parseString(content) # 取出msgid標(biāo)簽的值 result = doc.getElementsByTagName("msgid") # 該msgId就是撤回的消息標(biāo)識(shí),通過它可以在字典中找到撤回的消息信息 msgId = result[0].childNodes[0].nodeValue # 從字典中取出對(duì)應(yīng)消息標(biāo)識(shí)的消息類型 msg_type = dict[msgId]['info_type'] if msg_type == 'Recording': # 撤回的消息為語(yǔ)音 recording_info = dict[msgId]['info'] # 取出消息標(biāo)識(shí)對(duì)應(yīng)的消息內(nèi)容 info_name = dict[msgId]['name'] # 取出消息文件名 fromUser = dict[msgId]['fromUser'] # 取出發(fā)送者 dt = dict[msgId]['dt'] # 取出發(fā)送時(shí)間 recording_info(temp + '/' + info_name) # 保存語(yǔ)音 # 拼接提示消息 send_msg = '【發(fā)送人:】' + fromUser + '\n' + '發(fā)送時(shí)間:' + dt + '\n' + '撤回了一條語(yǔ)音' itchat.send(send_msg, 'filehelper') # 將提示消息發(fā)送給文件助手 # 發(fā)送保存的語(yǔ)音 itchat.send_file(temp + '/' + info_name, 'filehelper') del dict[msgId] # 刪除字典中對(duì)應(yīng)的消息 print("保存語(yǔ)音") elif msg_type == 'Text': text_info = dict[msgId]['info'] # 取出消息標(biāo)識(shí)對(duì)應(yīng)的消息內(nèi)容 fromUser = dict[msgId]['fromUser'] # 取出發(fā)送者 dt = dict[msgId]['dt'] # 取出發(fā)送時(shí)間 # 拼接提示消息 send_msg = '【發(fā)送人:】' + fromUser + '\n' + '發(fā)送時(shí)間:' + dt + '\n' + '撤回內(nèi)容:' + text_info # 將提示消息發(fā)送給文件助手 itchat.send(send_msg, 'filehelper') del dict[msgId] # 刪除字典中對(duì)應(yīng)的消息 print("保存文本") elif msg_type == 'Picture': picture_info = dict[msgId]['info'] # 取出消息標(biāo)識(shí)對(duì)應(yīng)的消息內(nèi)容 fromUser = dict[msgId]['fromUser'] # 取出發(fā)送者 dt = dict[msgId]['dt'] # 取出發(fā)送時(shí)間 info_name = dict[msgId]['name'] # 取出文件名 picture_info(temp + '/' + info_name) # 保存圖片 # 拼接提示消息 send_msg = '【發(fā)送人:】' + fromUser + '\n' + '發(fā)送時(shí)間:' + dt + '\n' + '撤回了一張圖片' itchat.send(send_msg, 'filehelper') # 將圖片發(fā)送給文件助手 # 發(fā)送保存的語(yǔ)音 itchat.send_file(temp + '/' + info_name, 'filehelper') del dict[msgId] # 刪除字典中對(duì)應(yīng)的消息 print("保存圖片") itchat.run()
到此這篇關(guān)于利用Python找回微信撤回信息的文章就介紹到這了,更多相關(guān)Python找回撤回信息內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何利用Matplotlib庫(kù)繪制動(dòng)畫及保存GIF圖片
這篇文章主要給大家介紹了關(guān)于如何利用Matplotlib庫(kù)繪制動(dòng)畫及保存GIF圖片的相關(guān)資料,matplotlib模塊提供了很高級(jí)和非常友好的使用方式,使用起來(lái)也是非常方便的,需要的朋友可以參考下2021-06-06在Python中實(shí)現(xiàn)貪婪排名算法的教程
這篇文章主要介紹了在Python中實(shí)現(xiàn)貪婪排名算法的教程,也是對(duì)學(xué)習(xí)算法的一個(gè)很好的演示,需要的朋友可以參考下2015-04-04Python網(wǎng)絡(luò)編程 Python套接字編程
這篇文章主要為大家詳細(xì)介紹了Python網(wǎng)絡(luò)編程的相關(guān)資料,Python套接字編程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09python神經(jīng)網(wǎng)絡(luò)Keras搭建RFBnet目標(biāo)檢測(cè)平臺(tái)
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras搭建RFBnet目標(biāo)檢測(cè)平臺(tái),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Python學(xué)習(xí)筆記之常用函數(shù)及說(shuō)明
俗話說(shuō)“好記性不如爛筆頭”,老祖宗們幾千年總結(jié)出來(lái)的東西還是有些道理的,所以,常用的東西也要記下來(lái),不記不知道,一記嚇一跳,乖乖,函數(shù)咋這么多捏2014-05-05基于Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化
在購(gòu)買股票的時(shí)候,可以使用歷史數(shù)據(jù)來(lái)對(duì)當(dāng)前的股票的走勢(shì)進(jìn)行預(yù)測(cè),這就需要對(duì)股票的數(shù)據(jù)進(jìn)行獲取并且進(jìn)行一定的分析。本文將介紹如何通過Python實(shí)現(xiàn)股票數(shù)據(jù)分析的可視化,需要的可以參考一下2021-12-12