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

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

本文介绍如何使用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。