Python实战:利用itchat与matplotlib统计微信好友性别比例

Jasper
Jasper
发布时间:2026-10-13 | 1人浏览过
原创

本文介绍如何使用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%;

数据显示男性好友占比远高于女性,这表明我的社交圈中男性朋友居多。由此可推测我可能是一位典型的理工科男性用户。不知各位的情况如何?不妨一试,看看结果。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对本站的支持。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表