微信现在可以说是我们现代生活中不可缺少的一个“工具”了,可以聊天社交,可以分享动态,可以shopping等等,不过要完成这些action,你都需要一个介质(手机或电脑)。但是,作为不安分的搞机develop programmer,当然不能安与此啊。所以就捣鼓捣鼓怎么用自己的特长去玩转微信吧,O(∩_∩)O哈哈~
wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展。本文所演示的功能大都基于wxpy。
1.获取微信好友的性别比例和地区分布
from wxpy import * bot = Bot(cache_path=True) my_friends = bot.friends(update=True) print(my_friends.stats_text())
Bot(cache_path=True)会自动生成一个二维码,手机微信扫描即可登录,cache_path=True会在本地生成一个缓存文件,这样就不用每次都生成二维码,就想电脑版微信,第一次登录需要扫描二维码,之后再登录,只需要手机上同意登录即可。
下面这是我的微信好友情况:
2.获取好友的个人签名
好友的个人签名或多或少能表露出他们的一些个人状态,所以我们就来看看吧。
因为有些人的个人签名可能有emoji表情或空,所以我这里就用正则把这些给过滤掉了
pattern = re.compile('<span.*?| ') bot = Bot(cache_path=True) my_friends = bot.friends(update=True) signature_str = '' for f in my_friends: signature = pattern.sub('', f.signature) if signature != '': print(signature)
然后看下输出结果:
这样看文字太单调了,做个词云图吧(第二个图拿微信logo做了个背景图),(#^.^#)
这样看,好友的个人签名里“成长”,“努力”,“喜欢”,“开心”等这些正能量的字词还是很多的,大家还是都很fighting的呢
3.如果对觉得上面的统计信息提不起兴趣,好吧,那用自己的微信号做个智能助理(搞笑机器人)吧
wxpy可以实现对好友的收发信息,添加好友,群聊等一系列微信功能,也就是说,在此基础上做一个扩展,好友给你发一个消息时,自动回复消息,而且可以调用第三方api,根据好友发送的消息,进行不同语义环境下的消息的自动回复,没错这就是智能语音助理(又蠢又笨的机器人而已啦)。我这边是调用的图灵机器人,图灵机器人还是很好用的,主要是免费,嗯,这是重点,对,没错!
def my_friednd_message(msg): print('[接收]' + str(msg)) try: sender = bot.user_details(msg.sender) if msg.type == 'Text': # 文字消息回复内容 ret = robot(msg.text, sender.province, sender.city) else: ret = '可以发文字吗?(#^.^#)[拜托]' print('[发送]' + ret) except Exception as e: print(e) ret = '时空好像错乱,我没看到你说的什么' return ret # 进入交互式的 Python 命令行界面,并堵塞当前线程 embed()
这样就会发生很神奇(gaosiao)的事情了
是不是很智能&gaosiao
其实这个wxpy封装很多微信常用的功能,还是挺好玩好用的。更多wxpy的资料请查阅 https://wxpy.readthedocs.io/zh/latest/index.html 。
虽然这个世界就那样,但是自己给生活找点乐子也挺好,不是嘛