itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。
使用不到三十行的代码,你就可以完成一个能够处理所有信息的微信机器人。
当然,该api的使用远不止一个机器人,更多的功能等着你来发现,比如这些。
该接口与公众号接口itchatmp共享类似的操作方式,学习一次掌握两个工具。
如今微信已经成为了个人社交的很大一部分,希望这个项目能够帮助你扩展你的个人的微信号、方便自己的生活。
以上介绍摘自itchat文档首页:点击查看
作者16年已经开发了这个接口,经过这几年的发展,此类接口也已被腾讯官方查封优化过,且腾讯对web端微信已经开始逐步呈放弃的态度,故对于此接口未来的发展前景持怀疑态度(仅代表个人观点),大家依然可以了解这个接口,做一些比较有意思的事,但是不建议用来 在微信群中群发,可能有封号风险。
1、统计自己微信号中好友的数据。如 制作个性签名云图、了解男女比例 等
微信好友-个性签名的云图
可以看出在我为数不多的200多个微信好友的个性签名中,并没有什么明显的规律以及指向性明确的意义。其中的Emoji 指的是表情。样本较少,大多数的个性签名都是独一无二的,所以会有这种结果。
我有将 微信昵称、好友省份 等维度信息进行统计制作云图,其中微信昵称大部分人都不重复,只有两个人叫做“闭关” , 好友省份也基本是 上学、工作 这两个省份为主。
微信好友-男女比例
有点意外的是,好友的男女比例竟然很健康,没有想象中直男的80%男性好友。经过观察,女性好友里很大一部分是因为工作的原因,最初从事运营工作的时候加了一些女学姐,而后做的产品,部门内的其他产品、设计岗女性比例 略高。反观男性好友里,大多都是工作之前,上学时候加的好兄弟。
2、将自己的微信号进化成没有感情的机器人,自动回复他人发的信息
我用的是 图灵机器人+讯飞 的接口,后面跟的Mp3文件是 以 图灵机器人回复的文本 为信息源的 语音。因为web端微信不能发语音,所以我就只好用发文件的方式来达到传送语音的目的,但还是不太满意,以后如果遇到更好的方案再试吧。另外,itchat内发送文件的时候,文件名不能是中文,如果是中文会发送不成功。想发送中文,需要:
Q: 为什么中文的文件没有办法上传?
A: 这是由于
requests
的编码问题导致的。若需要支持中文文件传输,将fields.py(py3版本见这里)文件放入requests包的packages/urllib3下即可
但不巧的是,我看我 requests包里没有packages文件夹,就先把文件名改成纯英文,就如上图,可以正常发送接收了。
这个项目网上资源比较多,而且web端本身支持功能也有限,建议当玩具玩玩,有兴趣的话可以去上面的文档,以及其他博主那里看源码。