记得2016年第一次开通微信的时候,我以及周围的大多数人还是重度的QQ用户,当时只是跟风开通了一下,也没觉得会改变什么。没想到才两年过去,我已经忘记了QQ的存在,每天起来第一件事就是查看微信,睡觉前也必然要看一下朋友圈有什么好玩有意义的事情,不得不说腾讯的产品策略绝对是一流的。那么我们能用python对微信做些什么呢?
还好微信官方有一个比较冷门的python库-itchat,这是微信提供的一个借口,我们可以借由它来实现对微信信息的提取,本文要做的是提取微信好友信息并对个性签名进行可视化处理。
首先安装我们所需要的库:
pip install itchat
pip install matplotlib.pyplot #用于生成2D图
pip install jieba #用于中文分词
pip install wordcloud #用于词云生成
第一步:提取好友信息:
调用itchat,通过扫码登陆网页微信获取返回的好友信息,代码如下:
def get_data():
itchat.auto_login() #调用登陆模块
friends=itchat.get_friends(update=True) #获取好友信息
return friends
运行程序扫描生成的二维码登陆微信姐可以看到所有的好友信息,涉及隐私,这里就不放图了。
第二步:通过对返回的信息分析发现,每一行为一个好友的完整信息,用‘,’隔开顺序依次为:昵称,备注名,性别(1为男,2为女,0为不确定(什么鬼阿),省份,城市,个性签名,星标,特殊好友权限),这里定义一个函数将获取的数据存储到列表中,代码如下:
def prase_data(data):
friends=[]
for item in data[1:]:
friend={
'NickName':item['NickName'], #昵称
'RemarkName':item['RemarkName'], #备注名
'Sex'