上一次是用 itchat 这个包,然后把好友的性别比例打印出来,并且弄出了饼图和柱状图,今天还是使用 itchat 这个包,不过是用来看一下微信好友的位置信息(柱状图)
Win10 系统下 Python3,编译器是 Pycharm,需要安装 itchat、matplotlib、pandas 这3个包
这里只介绍 Pycharm 安装第三方包的方法。
2.1 全部好友的位置信息
先是导入需要的三个包, itchat、matplotlib、pandas。
import itchat
import matplotlib.pyplot as plt
import pandas as pd
接着就是用 itchat 这个包实现登录微信网页版,获取数据
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)
data = pd.DataFrame() # 提出好友的昵称、性别、省份、城市、个性签名,生成一个数据框
columns = ['NickName', 'Sex', 'Province', 'City', 'Signature']
for col in columns:
val = []
for i in friends[1:]: # friends[0]是自己的信息,因此我们要从[1:]开始
val.append(i[col])
data[col] = pd.Series(val)
plt.rcParams['font.sans-serif']=['SimHei'] # 如果不设置这一句,中文不显示
plt.bar(data['Province'].value_counts().index,data['Province'].value_counts()) # 选择柱状图,而不是直方图。
plt.xticks(rotation=90) # 横坐标旋转90度
plt.show()
把代码复制到 pycharm,然后直接鼠标右键,选择 "Run" ,。过一会儿,屏幕就会弹出一个二维码,扫描二维码,在手机上确认登录。
如果看到是这个的,那就说明成功了,等一会儿就可以看见图了。
第一个是那些没有位置信息的人数,显然,我微信好友还是广东的多
我微信好友里的确有国外的,可是没这么多,应该有人改了位置信息
2.2 某个省份的好友位置信息
前面的部分还是一样的,这里就不赘述了
import itchat
import matplotlib.pyplot as plt
import pandas as pd
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)
data = pd.DataFrame() # 提出好友的昵称、性别、省份、城市、个性签名,生成一个数据框
columns = ['NickName', 'Sex', 'Province', 'City', 'Signature']
for col in columns:
val = []
for i in friends[1:]: # friends[0]是自己的信息,因此我们要从[1:]开始
val.append(i[col])
data[col] = pd.Series(val)
gd = data[data['Province'] == '广东']['City'] # 省份可以自行修改
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.bar(gd.value_counts().index, gd.value_counts())
plt.xticks(rotation=90) # 删掉括号里面的内容,不用侧着头看字
plt.show()
如果把上面注释那所说的内容删掉,那就可以正常看图了,不用侧着头,如下面的代码。
gd = data[data['Province'] == '广东']['City'] # 省份可以自行修改
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.bar(gd.value_counts().index, gd.value_counts())
plt.xticks() # 删掉括号里面的内容,不用侧着头看字
plt.show()
这时候,东莞前面的那个未知的东西我就分析不出来了
把省份换成山西,再运行一下,发现也是有那个未知的东西。
itchat 的项目主页:https://github.com/littlecodersh/itchat
itchat 的说明文档:http://itchat.readthedocs.io/zh/latest/
pandas的项目主页:https://github.com/pandas-dev/pandas
pandas 的说明文档:http://pandas.pydata.org/pandas-docs/stable/
matplotlib的主页:https://matplotlib.org/
参考链接(点击原文链接):http://blog.csdn.net/Lee20093905/article/details/79052795
题图:Photo by João Silas on Unsplash