效果图如下:

不仅可以查看微信好友撤回的文字消息,如位置、视频、音频、图片等等都可以查看。

直接上源代码:

# Python查看微信撤回消息
import re
import os
import time
import itchat
import platform
from itchat.content import TEXT
from itchat.content import *msg_info = {}
face_package = None# 处理接收到的信息
@itchat.msg_register([TEXT, PICTURE, FRIENDS, CARD, MAP, SHARING, RECORDING, ATTACHMENT, VIDEO], isFriendChat=True, isMpChat=True)
def handleRMsg(msg):global face_package# 接收消息的时间msg_time_receive = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 发信人try:msg_from = itchat.search_friends(userName=msg['FromUserName'])['NickName']except:msg_from = 'WeChat Official Accounts'# 发信时间msg_time_send = msg['CreateTime']# 信息IDmsg_id = msg['MsgId']msg_content = Nonemsg_link = None# 文本或者好友推荐if msg['Type'] == 'Text' or msg['Type'] == 'Friends':msg_content = msg['Text']print('[Text/Friends]: %s' % msg_content)# 附件/视频/图片/语音elif msg['Type'] == 'Attachment' or msg['Type'] == "Video" or msg['Type'] == 'Picture' or msg['Type'] == 'Recording':msg_content = msg['FileName']msg['Text'](str(msg_content))print('[Attachment/Video/Picture/Recording]: %s' % msg_content)# 推荐名片elif msg['Type'] == 'Card':msg_content = msg['RecommendInfo']['NickName'] + '的推荐名片,'if msg['RecommendInfo']['Sex'] == 1:msg_content += '性别男。'else:msg_content += '性别女。'print('[Card]: %s' % msg_content)# 位置信息elif msg['Type'] == 'Map':x, y, location = re.search("<location x=\"(.*?)\" y=\"(.*?)\".*label=\"(.*?)\".*", msg['OriContent']).group(1, 2, 3)if location is None:msg_content = r"纬度:" + x.__str__() + ", 经度:" + y.__str__()else:msg_content = r"" + locationprint('[Map]: %s' % msg_content)# 分析的音乐/文章elif msg['Type'] == 'Sharing':msg_content = msg['Text']msg_link = msg['Url']print('[Sharing]: %s' % msg_content)msg_info.update({msg_id: {"msg_from": msg_from,"msg_time_send": msg_time_send,"msg_time_receive": msg_time_receive,"msg_type": msg["Type"],"msg_content": msg_content,"msg_link": msg_link}})face_package = msg_content# 监听是否有消息撤回
@itchat.msg_register(NOTE, isFriendChat=True, isGroupChat=True, isMpChat=True)
def monitor(msg):if '撤回了一条消息' in msg['Content']:recall_msg_id = re.search("\<msgid\>(.*?)\<\/msgid\>", msg['Content']).group(1)recall_msg = msg_info.get(recall_msg_id)print('[Recall]: %s' % recall_msg)# 表情包if len(recall_msg_id) < 11:itchat.send_file(face_package, toUserName='filehelper')else:msg_prime = '---' + recall_msg.get('msg_from') + '撤回了一条消息---\n' \'消息类型:' + recall_msg.get('msg_type') + '\n' \'时间:' + recall_msg.get('msg_time_receive') + '\n' \r'内容:' + recall_msg.get('msg_content')if recall_msg['msg_type'] == 'Sharing':msg_prime += '\n链接:' + recall_msg.get('msg_link')itchat.send_msg(msg_prime, toUserName='filehelper')if recall_msg['msg_type'] == 'Attachment' or recall_msg['msg_type'] == "Video" or recall_msg['msg_type'] == 'Picture' or recall_msg['msg_type'] == 'Recording':file = '@fil@%s' % (recall_msg['msg_content'])itchat.send(msg=file, toUserName='filehelper')os.remove(recall_msg['msg_content'])msg_info.pop(recall_msg_id)if __name__ == '__main__':if platform.platform()[:7] == 'Windows':itchat.auto_login(enableCmdQR=False, hotReload=True)else:itchat.auto_login(enableCmdQR=True, hotReload=True)itchat.run()

利用Python查看微信好友撤回的消息相关推荐

  1. 如何用Python查看微信好友撤回的消息?

    首先声明,本文主要就是在试图复现这篇文档中所说的: https://cloud.tencent.com/developer/article/1701130 因此要是下文中有什么讲的不清楚的地方,大家也 ...

  2. python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定

    要说微信最让人恶心的发明,消息撤回绝对能上榜. 比如你现在正和女朋友用微信聊着天,或者跟自己喜欢的女孩子聊着天,一个不留神,你没注意到对方发的消息就被她及时撤回了,这时你很好奇,好奇她到底发了什么?于 ...

  3. python怎么使用别人的代码_利用Python查看微信共同好友功能的实现代码

    总有思路清奇的朋友存在,想实现查看微信共同好友: 由于之前分享的代码有获取过微信好友头像,所以当时第一反应是通过itchat微信接口获取好友信息,比对两个人的好友信息列表就可以实现了.按理说这么简单的 ...

  4. 用python做头像_如何利用python制作微信好友头像照片墙?

    这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...

  5. python表白代码照片墙-如何利用python制作微信好友头像照片墙?

    这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...

  6. 利用python进行微信好友分析

    欢迎python爱好者加入:学习交流群 667279387 本文主要利用python对个人微信好友进行分析并把结果输出到一个html文档当中,主要用到的python包为itchat,pandas,py ...

  7. 利用Python查看微信共同好友

    思路 首先通过itchat这个微信个人号接口扫码登录个人微信网页版,获取可以识别好友身份的数据.这里是需要分别登录两人微信的,拿到两人各自的好友信息存到列表中. 这样一来,查共同好友就转化成了查两个列 ...

  8. 利用Python对微信好友数据进行分析

    一直就想着做个微信好友数据分析,折腾了一天总算是勉强完成了. 本文参考: 微信好友大数据分析 Python基于jieba库进行简单分词及词云功能实现方法 本文会使用到的第三方模块: itchat:微信 ...

  9. 【微信】利用python实现微信好友防撤回、消息监控

    该项目来源于github,将其跑通: # -*- coding: utf-8 -*- """ Created on Fri Jun 21 12:09:43 2019@au ...

最新文章

  1. windows7 下的日期没有internet时间的选项卡
  2. Asp.net 字符串操作基类(安全,替换,分解等)
  3. matlab如何响两声,matlab发出声音
  4. boost::dijkstra_shortest_paths_no_color_map用法的测试程序
  5. Mac技巧|如何在 MacBook上设置一位数登录密码
  6. adalm pluto_Apache Pluto Portlet&Struts 2集成示例教程
  7. python 测试框架_Python 各种测试框架简介(一):doctest
  8. VMware虚拟机安装xp系统
  9. Python坦克大战(一):素材准备
  10. 二叉树 java泛型_java二叉树
  11. 双目测距Python-OpenCV代码及详细解释
  12. 基于MATLAB的列车防护曲线组合步长算法分析与仿真验证
  13. 2021年6月程序员薪资出炉,平均薪资15302元
  14. 设计师浅谈标志设计经验
  15. 永不停息的红舞步一个电子工程师的心路历程(转载)
  16. 紫光扫描仪ocr_清华紫光OCR下载
  17. Java招聘的一些心得和建议
  18. 跟着鸟哥学linux【一】
  19. 号称下一代消息中间件!来看看它有多牛逼
  20. 培训班出来的人后来都怎么样了?(八)

热门文章

  1. spfa 单源最短路究极算法
  2. linux matlab r2010,《矩阵实验室》(Mathworks Matlab R2010a Win/UNIX )[光盘镜像]
  3. 【Spring源码:循环依赖】一文弄懂Spring循环依赖
  4. 玫琳凯生产并捐赠洗手液以抗击COVID-19大流行
  5. Kruskal 算法与 Prim 算法
  6. Python Prim 算法 生成迷宫
  7. [置顶] qeephp3.0 发布了
  8. MTBF、MTTR、MTTF三个指标的区别在哪儿
  9. 独孤思维:冷门搬运项目,小白每天半小时,月入3w+
  10. 深度学习的性能评价指标---图像分类的评价指标