微信好友信息统计
微信好友信息统计
最近,我发现了一个很有趣的Python实践,即利用Python对自己的微信好友进行一些信息的统计。这是一个非常有意思的项目,能够让我们了解自己微信好友的数量、性别比例以及省份分布。下面,我们将详细描述这个项目的实现过程。
项目背景
在日常生活中,我们经常使用微信来与朋友和家人保持联系。但是,有时我们会想知道自己的微信好友有多少人,男女比例如何,以及他们来自哪些省份。这些信息可以帮助我们更好地理解自己的人际关系。
项目目标
本项目的目标是开发一个Python程序,能够自动从微信中提取好友信息,并进行统计分析。具体来说,我们希望实现以下功能:
1. 统计好友数量2. 计算男女比例3. 显示省份分布项目实现
依赖库为了实现这个项目,我们需要以下依赖库:
* `weixin`:微信API库,用于获取好友信息* `pandas`:数据分析库,用于统计和展示数据* `matplotlib`:图形库,用于绘制省份分布图代码结构我们的项目代码将按照以下结构组织:
```pythonweixin_friend_statistic/
main.pyconfig.jsonrequirements.txtREADME.md```
其中:
* `main.py`:主程序文件,负责执行好友信息统计和展示* `config.json`:配置文件,存储微信API相关信息* `requirements.txt`:依赖库列表* `README.md`:项目说明文档 配置文件在 `config.json` 文件中,我们需要填写以下信息:
```json{
"weixin_app_id": "",
"weixin_app_secret": ""
}
```
其中,`weixin_app_id` 和 `weixin_app_secret` 是微信API的应用ID和密钥。
主程序在 `main.py` 文件中,我们需要实现以下函数:
```pythonimport jsonfrom weixin import WeChatfrom pandas import DataFrameimport matplotlib.pyplot as pltdef get_wechat_friends():
获取微信好友信息 wechat = WeChat(config['weixin_app_id'], config['weixin_app_secret'])
friends = wechat.get_friends()
return friendsdef count_gender(friends):
统计男女比例 male_count =0 female_count =0 for friend in friends:
if friend['sex'] == 'male':
male_count +=1 elif friend['sex'] == 'female':
female_count +=1 return male_count, female_countdef show_province_distribution(friends):
显示省份分布图 provinces = {}
for friend in friends:
province = friend['province']
if province not in provinces:
provinces[province] =0 provinces[province] +=1 df = DataFrame(provinces.items(), columns=['Province', 'Count'])
plt.bar(df['Province'], df['Count'])
plt.xlabel('Province')
plt.ylabel('Count')
plt.title('Province Distribution')
plt.show()
def main():
获取好友信息 friends = get_wechat_friends()
统计男女比例 male_count, female_count = count_gender(friends)
print(f"Male Count: {male_count}, Female Count: {female_count}")
显示省份分布图 show_province_distribution(friends)
if __name__ == '__main__':
with open('config.json') as f:
config = json.load(f)
main()
```
运行程序在终端中,运行以下命令:
```bashpython main.py```
程序将自动获取好友信息,并进行统计分析和展示。
效果图
下面是程序的效果图:
* 男女比例图:
![男女比例图]( 省份分布图:
![省份分布图](