![](http://mmbiz.qpic.cn/mmbiz_gif/IP70Vic417DOjMRrV3RrW2HaXlrTFpEI1EYiaJaJkfYOvEuQc3F6RibYXS9oMIvvJNCywron0Wd809g43gmTHlqEA/640?wx_fmt=gif)
首先声明,本文主要就是在试图复现原文档中所说的,因此要是下文中有什么讲的不清楚的地方,大家也可以参考原链接
一、pip Install itchat
既然都用python解决问题了,第一步当然是明确用什么库啦,直接执行pip install itchat:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZTy6Z6mKG4pcEFw6HS7wUpckV5ADPzAGL5McCpzicPKiaG7aDxcibHF1KQ/640?wx_fmt=png)
👌 done!
二、itchat.login()
下完了库,就得试下库的最入门用法啦,啦啦啦:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZWctiapuibNBYs1ibj80LicAMBwUgdQOg9wsR44DicsGEphiacj9L1mAcymIQ/640?wx_fmt=png)
但没想到,复现到这一步时就出问题了。直接用itchat库像上面这样操作,登陆的会是微信的网页版,而腾讯之前为了防止大家用计算机自动化操作微信从而可能会导致一些安全问题,封停了网页版微信API,如果只是像上面这样做的话,控制台会提醒说“由于安全原因,此微信号不能使用网页版微信。你可以使用+Windows+版微信或+Mac+版微信登录。”ok,男人要有耐心,遇事心平气和,google+知乎,若没试过七七四十九种解决方案,万不可直接考虑砸电脑。很好,经过几次试错以后,找到一种简单便捷的解决方案:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZ23yNID7Y1EkAuxXYP6b6ibMXzicqbicFapges2QrdxSZk46Bll5JPiaXBg/640?wx_fmt=png)
很好,如上操作完,登陆成功!哦耶✌️!
三、itchat.search_friends() + send()
很好,登陆成功,来试着给好友发条消息?
我大概执行了下面这样的代码:![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZbGYWia0ia5x78d6Q4gz3K3iaWdWL5T5eBicwIQxJxib8vsJLl9QkBfAPfZg/640?wx_fmt=png)
执行结果:![](http://mmbiz.qpic.cn/mmbiz_jpg/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZlozff5Uusv9zO9sqjQPDrjukcetaJVDbv25de4KJtAKg1RjRl9JbmQ/640?wx_fmt=jpeg)
很好,发送成功!
四、@itchat.msg_register()
接下来我们要监听一下好友发送的消息,尝试在本机执行参考文档中的这段代码:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZQPOYC6g1wMPOYmRgTIb4zPibZUBF8vcXh7ibOSkR0Vm1tg15DuZEXibcA/640?wx_fmt=png)
在我本机复现的效果,没毛病,效果杠杠的,发啥我都能在控制台监听到了,嘿嘿嘿:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZJb0VpfhibzOVnPmtZEhKsYHL0pMQeGo5ynic48n542PStasYiaDJwNeMg/640?wx_fmt=png)
五、def reserver_info(msg)
接下来我们来复现下面👇这一段:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZiclkOjBcAxY3uzZvhc2pljyjnQwwwTOI5ryqBK9qkYp07kN7bqaJxxA/640?wx_fmt=png)
我本机上的情况(抄的我好开心啊[捂脸]):
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZvRuEC9hrpnQdZ3YbxYD3PeVv3Emcey6Qoqv8cz3Uibm1Yr4smvnB3eg/640?wx_fmt=png)
六、@itchat.msg_register([TEXT, PICTURE, RECORDING])
上面完成了对于文字内容的监听,接下来要感受一下图片、语音什么的如何处理了。
尝试复现下面的代码:![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZ3xL3iaQl46CibzzWfQ938YM6sc6yQcrubfIsO4wnWfic0ibB3AMaicqlmuA/640?wx_fmt=png)
本机复现成功,结果我就先不放了,不然又得打码,好麻烦[捂脸]
原文中对于图片格式和音频格式的讲解:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZsib7Oe5xA2gNQH8RGVJyEzEpuQ3q7bbrrllX0PQPQtvSiaRNS9AApb1g/640?wx_fmt=png)
七、os.mkdir() + info()
我们现在牵扯到应该怎么存储图片和语音信息了。
而我接下来继续的行为,低情商的说法叫:继续抄;高情商的说法:人家代码的可复用性好高。
在本机复现这段代码:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZPy5wZbeJoCwJ74D6Wq8g7lSa7ruqc0gYmDrRJrcyBB307HqmJib5DQA/640?wx_fmt=png)
执行结果:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZXmeHiap9FzrN1CRrSWbMBN29wNdxZAKsiblLgGV3FRXHqqOg0PjzVYiaw/640?wx_fmt=png)
是python就是这么容易顺利执行,让人感觉枯燥且乏味吗?
八、note_info(msg)
现在我们能够存储聊天信息了,就是既然是要做防撤回软件,我们应该只需要存那些撤回了的信息,那么靠什么来判别哪些信息是撤回消息呢?Content模块为我们提供了NOTE类型,该类型指的是系统消息:
![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZeOmsJBZlOzJ8ia7KAF8n85m7xTkevjm0K2qibXFjTYlB7MzOBF4ltv4w/640?wx_fmt=png)
好,我们继续在本地复现上面的程序:![](http://mmbiz.qpic.cn/mmbiz_png/ULibHgXIt3jzKe8DmU29BvKJ3bLib8xwrZf8quOqDmYTPMF096rznpIKAYNwCksT2f8Gx70UVSbfT9O4MJEQkDWQ/640?wx_fmt=png)
复现成功,枯燥。
原文链接:https://cloud.tencent.com/developer/article/1701130
文章转载:Python编程学习圈
(版权归原作者所有,侵删)
![](http://mmbiz.qpic.cn/mmbiz_gif/Ax5Bp6214YNMtf0RNv4VQ0V1bg9SLBsGR5p3Olv8OSO4thBdpswMMZB8mHmWKdE9raicHrIbHZQRO5xxq1RZblA/640?wx_fmt=gif)
点击下方“阅读原文”查看更多