10分钟教你用Python玩转微信之好友性别比例统计分析

简介: 10分钟教你用Python玩转微信之好友性别比例统计分析

想必,微信对于大家来说,是再熟悉不过的了。那么,大家想不想探索一下微信上的各种奥秘呢?今天,我们一起来简单分析一下微信上的好友性别比例吧~废话不多说,开始干活。

微信图片_20220421153414.gif

结果如下:

微信图片_20220421153417.jpg微信图片_20220421153420.png



环境准备

Python版本:3.6.0

系统平台:Windows 10 X64

IDE:pycharm


相关模块:

matplotlib.pyplot模块;

itchat模块;

以及一些Python自带的模块。

好友统计

代码文件下载请移步留言区。

这里还是需要用到我们的itchat模块,利用这个模块登录微信,然后获取相应的信息进行统计分析。


首先是登录微信,获取好友:

1# 先登录
2itchat.login()
3
4# 获取好友列表
5friends = itchat.get_friends(update=True)[0:]


然后是遍历获取结果,进行性别统计:

1# 初始化计数器,有男有女,当然,有些人是不填的
 2male = female = other = 0
 3
 4# 遍历这个列表,列表里第一位是自己,所以从"自己"之后开始计算
 5# 1表示男性,2女性
 6for i in friends[1:]:
 7    sex = i["Sex"]
 8    if sex == 1:
 9        male += 1
10    elif sex == 2:
11        female += 1
12    else:
13        other += 1
14
15# 总数算上,好计算比例啊~
16total = len(friends[1:])


最后输出结果:

1# 好了,打印结果
2print("男性好友:%.2f%%" % (float(male) / total * 100))
3print("女性好友:%.2f%%" % (float(female) / total * 100))
4print("其他:%.2f%%" % (float(other) / total * 100))


那,这就完了吗?不!

绘制统计图

代码文件下载请移步留言区。

为了结果好看一点,我们再下点功夫,利用matplotlib下的pyplot将统计的结果绘制成统计图,让数据变得更加直观。


matplotlib是python上的一个2D绘图库,它可以在夸平台上边出很多高质量的图像。综旨就是让简单的事变得更简单,让复杂的事变得可能。我们可以用matplotlib生成 绘图、直方图、功率谱、柱状图、误差图、散点图等 。


matplotlib.pyplot:提供一个类似matlab的绘图框架。有关其相关知识,这里就不过多介绍了,大家可上网自行了解一下,我们这里用到的代码也很简单,注释也说得很清楚了:

1# 颜色
2colors = ['yellowgreen', 'lightskyblue', 'lightcoral']
3# 标签
4labels = ['other', 'male', 'female']
5# 控制让哪个块向外一点(这里选的是中间的那个男性)
6explode = (0, 0.1, 0)
7plt.pie([other, male, female], labels=labels, explode=explode, colors=colors, autopct='%1.1f%%')
8plt.show()


将相关设置设置好以后,就把饼状图show出来就可以啦。

完整代码

代码文件下载请移步留言区。

具体的完整代码如下:

1import matplotlib.pyplot as plt
 2import itchat
 3
 4# 先登录
 5itchat.login()
 6
 7# 获取好友列表
 8friends = itchat.get_friends(update=True)[0:]
 9
10# 初始化计数器,有男有女,当然,有些人是不填的
11male = female = other = 0
12
13# 遍历这个列表,列表里第一位是自己,所以从"自己"之后开始计算
14# 1表示男性,2女性
15for i in friends[1:]:
16    sex = i["Sex"]
17    if sex == 1:
18        male += 1
19    elif sex == 2:
20        female += 1
21    else:
22        other += 1
23
24# 总数算上,好计算比例啊~
25total = len(friends[1:])
26
27# 好了,打印结果
28print("男性好友:%.2f%%" % (float(male) / total * 100))
29print("女性好友:%.2f%%" % (float(female) / total * 100))
30print("其他:%.2f%%" % (float(other) / total * 100))
31
32# 颜色
33colors = ['yellowgreen', 'lightskyblue', 'lightcoral']
34# 标签
35labels = ['other', 'male', 'female']
36# 控制让哪个块向外一点(这里选的是中间的那个男性)
37explode = (0, 0.1, 0)
38plt.pie([other, male, female], labels=labels, explode=explode, colors=colors, autopct='%1.1f%%')
39plt.show()
相关文章
|
9天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
108 60
|
1月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
54 7
|
4月前
|
小程序 API 开发工具
使用python 实现微信签到提醒功能
【9月更文挑战第4天】使用python 实现微信签到提醒功能
94 2
|
5月前
|
数据采集 机器学习/深度学习 数据挖掘
如何使用 Python 统计分析 access 日志?
【8月更文挑战第14天】如何使用 Python 统计分析 access 日志?
51 0
如何使用 Python 统计分析 access 日志?
|
6月前
|
小程序 JavaScript 安全
【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)
【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)
225 0
|
6月前
|
小程序 数据库 C++
【微信小程序-原生开发】实用教程17 - 详情页触发列表页刷新,点击图片放大预览,转发给好友/群,分享到朋友圈
【微信小程序-原生开发】实用教程17 - 详情页触发列表页刷新,点击图片放大预览,转发给好友/群,分享到朋友圈
50 0
|
7月前
|
安全 UED 黑灰产治理
微信留言自动回复(Python实现)
本项目旨在使用Python与Windows GUI自动化工具来自动化微信的操作,作用为读取未读消息、根据关键词回复消息
267 0
|
7月前
|
API 开发工具
企业微信SDK接口API调用-触发推送企业微信微信好友
企业微信SDK接口API调用-触发推送企业微信微信好友
|
7月前
微信小游戏全局开启好友和朋友圈分享功能
微信小游戏全局开启好友和朋友圈分享功能
71 0
|
7月前
|
API 开发工具
企业微信api接口调用-通过手机号或微信好友添加客户
企业微信api接口调用-通过手机号或微信好友添加客户