Python实战:利用itchat与matplotlib统计微信好友性别比例
本文介绍如何使用Python的itchat库登录微信个人接口,获取好友列表并统计性别分布。通过matplotlib绘制柱状图,直观展示男性、女性及不明性别好友的比例,帮助开发者了解社交网络结构。
写在前面
如今微信已成为日常沟通的核心工具,一句“咱们加个微信呗”连接了无数人际关系。许多人的微信好友数量轻松达到四五百,甚至上千、几千。然而,面对庞大的好友列表,我们往往难以清晰区分每位好友的身份,更不清楚其性别分布。今天,我们将通过技术手段统计微信好友的男女比例,借此观察自己平时更倾向于结交男性还是女性朋友,结果或许会出乎意料。
下面话不多说了,来一起看看详细的介绍吧
环境安装
这里使用一个有趣的开源库 itchat,它是一个微信个人接口封装。我们将利用 itchat 获取好友数据,统计性别比例,并使用 matplotlib 生成柱状图,使结果一目了然。
(1)首先在安装 itchat:
pip install itchat
(2)在安装matplotlib:
pip install matplotlib
登录微信
itchat.auto_login(hotReload=True)
运行程序时,会弹出微信二维码,需使用手机扫码登录微信。只有完成登录,代码才能继续执行以进行后续统计。
以下是完整的程序代码:
import itchat
import matplotlib.pyplot as plt
itchat.auto_login(hotReload=True)
friends=itchat.get_friends(update=True)[0:] #获取所有好友信息
male = female = other =0
for i in friends[1:]:
sex=i["Sex"]
if sex==1:
male+=1
elif sex==2:
female+=1
else:
other+=1
total=len(friends[1:])
print("男性好友: %.2f%%" % (float(male)/total*100) + "\n" +
"女性好友: %.2f%%" % (float(female) / total * 100) + "\n" +
"不明性别好友: %.2f%%" % (float(other) / total * 100))
plt.xlabel("sex")
plt.ylabel("count")
plt.title("Gender statistics")
a=plt.subplot(1,1,1)
plt.bar(10, male, facecolor='red', width=3, label='male')
plt.bar(15, female, facecolor='yellow', width=3, label='female')
plt.bar(20, other, facecolor='blue', width=3, label='other')
plt.legend()
plt.show()
运行以上代码可以得到微信好友的性别比例:
比如我的微信朋友统计画图如下:

从以上柱状图可以看出我的微信朋友统计,
男性好友: 57.99%;
女性好友: 34.32%;
不明性别好友: 7.69%;
数据显示男性好友占比远高于女性,这表明我的社交圈中男性朋友居多。由此可推测我可能是一位典型的理工科男性用户。不知各位的情况如何?不妨一试,看看结果。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对本站的支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













