微信(WeChat) 是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程式,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 ,在互聯網飛速發展的下、民眾的需求下,微信已經更新到2.6.2.31版本,全民微信時代,村口的張大媽,家里的老父親都知道怎么使用微信,
但是當我們與朋友,親人,愛人聊天的時候,我估計每個人都經歷過,那就是微信撤回功能中所提到的,對方撤回一條訊息,
一條撤回的訊息,就像一個秘密,讓你迫切地想去一探究竟;或如一個誘餌,瞬間勾起你強烈的興趣,你想知道,那是怎樣的一句話?是對方不慎講出的真話,還是一句發錯了物件的話?

總之,這個撤回的訊息,讓人頓生×××,這個時候,就是技術人員出馬的時候了,

Python查看微信撤回訊息參考代碼:
import itchat
from itchat.content import *
import os
import time
import xml.dom.minidom # 決議xml模塊
# 這是保存撤回訊息的檔案目錄(如:圖片、語音等)
temp = 'C:/Users/Administrator/Desktop/CrawlerDemo' + '/' + '撤回的訊息'
if not os.path.exists(temp):
os.mkdir(temp)
itchat.auto_login(True) # 自動登錄
dict = {} # 定義一個字典
# 這是一個裝飾器,給下面的函式添加新功能
# 能夠捕獲好友發送的訊息,并傳遞給函式引數msg
@itchat.msg_register([TEXT, PICTURE, FRIENDS, CARD, MAP, SHARING, RECORDING, ATTACHMENT, VIDEO]) # 文本,語音,圖片
def resever_info(msg):
global dict # 宣告全域變數
info = msg['Text'] # 取出訊息內容
msgId = msg['MsgId'] # 取出訊息標識
info_type = msg['Type'] # 取出訊息型別
name = msg['FileName'] # 取出訊息檔案名
# 取出訊息發送者標識并從好友串列中檢索
fromUser = itchat.search_friends(userName=msg['FromUserName'])['NickName']
ticks = msg['CreateTime'] # 獲取資訊發送的時間
time_local = time.localtime(ticks)
dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local) # 格式化日期
# 將訊息標識和訊息內容添加到字典
# 每一條訊息的唯一標識作為鍵,訊息的具體資訊作為值,也是一個字典
dict[msgId] = {"info": info, "info_type": info_type, "name": name, "fromUser": fromUser, "dt": dt}
@itchat.msg_register(NOTE) # 監聽系統提示
def note_info(msg):
# 監聽到好友撤回了一條訊息
if '撤回了一條訊息' in msg['Text']:
# 獲取系統訊息中的Content結點值
content = msg['Content']
# Content值為xml,決議xml
doc = xml.dom.minidom.parseString(content)
# 取出msgid標簽的值
result = doc.getElementsByTagName("msgid")
# 該msgId就是撤回的訊息標識,通過它可以在字典中找到撤回的訊息資訊
msgId = result[0].childNodes[0].nodeValue
# 從字典中取出對應訊息標識的訊息型別
msg_type = dict[msgId]['info_type']
if msg_type == 'Recording': # 撤回的訊息為語音
recording_info = dict[msgId]['info'] # 取出訊息標識對應的訊息內容
info_name = dict[msgId]['name'] # 取出訊息檔案名
fromUser = dict[msgId]['fromUser'] # 取出發送者
dt = dict[msgId]['dt'] # 取出發送時間
recording_info(temp + '/' + info_name) # 保存語音
# 拼接提示訊息
send_msg = '【發送人:】' + fromUser + '\n' + '發送時間:' + dt + '\n' + '撤回了一條語音'
itchat.send(send_msg, 'filehelper') # 將提示訊息發送給檔案助手
# 發送保存的語音
itchat.send_file(temp + '/' + info_name, 'filehelper')
del dict[msgId] # 洗掉字典中對應的訊息
print("保存語音")
elif msg_type == 'Text':
text_info = dict[msgId]['info'] # 取出訊息標識對應的訊息內容
fromUser = dict[msgId]['fromUser'] # 取出發送者
dt = dict[msgId]['dt'] # 取出發送時間
# 拼接提示訊息
send_msg = '【發送人:】' + fromUser + '\n' + '發送時間:' + dt + '\n' + '撤回內容:' + text_info
# 將提示訊息發送給檔案助手
itchat.send(send_msg, 'filehelper')
del dict[msgId] # 洗掉字典中對應的訊息
print("保存文本")
elif msg_type == 'Picture':
picture_info = dict[msgId]['info'] # 取出訊息標識對應的訊息內容
fromUser = dict[msgId]['fromUser'] # 取出發送者
dt = dict[msgId]['dt'] # 取出發送時間
info_name = dict[msgId]['name'] # 取出檔案名
picture_info(temp + '/' + info_name) # 保存圖片
# 拼接提示訊息
send_msg = '【發送人:】' + fromUser + '\n' + '發送時間:' + dt + '\n' + '撤回了一張圖片'
itchat.send(send_msg, 'filehelper') # 將圖片發送給檔案助手
# 發送保存的語音
itchat.send_file(temp + '/' + info_name, 'filehelper')
del dict[msgId] # 洗掉字典中對應的訊息
print("保存圖片")
itchat.run()

這篇文章到這里就結束了,不過在此真心建議,如果是男女朋友,就不要去用Python查看了,有些事情不知道比知道要好,親身經歷,
點擊領取.福利
①3000多本Python電子書有
②Python開發環境安裝教程有
③Python400集自學視頻有
④軟體開發常用詞匯有
⑤Python學習路線圖有
⑥專案原始碼案例分享有
如果你用得到的話可以直接拿走,在我的QQ技術交流群里群號:767030506(純技術交流和資源共享,廣告勿入)以自助拿走
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286191.html
標籤:AI
