你又撤回了什么见不得人的消息?Python都知道!

在上篇文章《

我是什么人,Python告诉你!

》中,简单介绍了下Python中功能强大的的itchat库,实现获得微信好友的基本信息,再进行简单的数据统计,可做出可视化微信好友性别比例、可视化微信好友个性签名等应用,还是比较有意思的。

整体思路:

2、一条微信消息有三个重要字段:消息内容、发送者、接收者;

3、注册相应消息类型(文字、视频、语音、图片等)的处理函数,为了处理的简单方便,这里只监控文字类型的微信消息;

4、要实现查看到被撤回的消息内容,只需要将本微信号接收到的所有的微信消息进行存储或者转发即可;

下面来具体看看效果吧。

手机微信聊天界面看到的效果图:

利用Python将接收到的消息转发到文件传输助手:

利用Python将消息存储到文本文件:

几点改进:

2、转发微信消息无发送者名称,不知道是谁发过来的;存储微信消息,发送者字段是一串很长的ID号,也分不清是谁;后续需要进行改进,可以获取到发送者的ID,再需要遍历好友列表(itchat提供search_friends方法),再和昵称字段(NIckName)进行匹配和转换即可。

3、这里是将所有的微信消息都进行转发或者存储,简单粗暴地实现了能够知道撤回消息的功能,但是会浪费大量资源,需要找到一种方法判断消息被撤回了再进行存储或转发,暂时还未想到实现方法,欢迎交流讨论。

4、此处只是简单示例,后续可进一步优化的地方:加上显示被撤回消息的时间、谁发送的、哪一类信息(文本、图片、语音、视频、分享、位置、附件等),加上这些功能,形成一个完整的被撤回微信消息的转发功能。

5、附加功能:微信发一条消息,Python程序监控到消息中有cmd字段,表面是微信控制Windows的命令,使用Python中的OS库的system函数执行此命令,例如发送消息“cmd shutdown -s -t 0”,Python程序会在Windows中启动命令行执行命令“shutdown -s -t 0”,实现立即关机。这样就实现了手机控制电脑的功能,大冬天的躺在被窝里看完电视剧就不必下床关电脑啦哈哈哈哈哈

几点思考:

1、itchat库功能太强大了!扫码就可以用Python模拟登陆网页版微信,然后微信聊天消息全部都被Python程序所监控,Python程序还可以发出微信消息。仔细想想还是很可怕的,要是不小心微信扫码,微信号被不法分子所监控和利用,后果不敢想象啊所以,不清不白的二维码大家不要乱扫啊!确认授权时要慎之又慎!

学习、整理、输出、分享,也是一件很有意思的事情。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180811G0CTCZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券