itchat
itchat是一个开源的微信个人号接口,这一次就用它来来玩玩。
在使用之前,先下载,老规矩通过 pip install itchat 即可安装。
想要获取朋友圈信息,只需要几行代码就可以获取。为减少登录次数,将获取到的信息保存到 json 文件中即可。
itchat.login() # 通过二维码连接登录账号
friend_msg = itchat.get_friends(update=True)[0:] # 获取微信好友信息
# 将微信好友信息保存起来,减少登录的次数
with open('./friend_message.json', 'w', encoding='utf-8') as file:
json.dump(friend_msg, file, ensure_ascii=False)
file.close()
复制
读取文件获取信息
我们只需要关注里面其中的主要信息,按照需求获取。由于只是玩玩而已,就只单单获取性别和城市信息。
先获取性别信息
def get_gender(message):
sex_dic = {}
sex_list = []
for i in range(1, len(message)):
sex = message[i]['Sex']
if sex == 1:
sex_dic['Male'] = sex_dic.get('Male', 0) + 1
sex_list.append("男")
elif sex == 2:
sex_dic['Female'] = sex_dic.get('Female', 0) + 1
sex_list.append("女")
else:
sex_dic['Unknown'] = sex_dic.get('Unknown', 0) + 1
sex_list.append("Unknown")
return sex_dic, sex_list
复制
再获取城市信息
def get_city(message):
city_list = []
for i in range(1, len(message)):
city = message[i]['City']
if city == '':
city_list.append(None)
else:
city_list.append(city)
return city_list
复制
可视化
将性别绘制成饼状图,城市分布绘制成柱状图。具体绘制的代码就不上了,详情请前往 GitHub
with open("./friend_message.json", 'r', encoding='utf-8') as file:
f_msg = json.load(file)
file.close()
sex_dic, sex_list = getData.get_gender(f_msg)
city_list = getData.get_city(f_msg)
# 将三个属性组成 DataFrame
data = pd.DataFrame({'gender': sex_list, 'city': city_list})
# 获取城市前十的数量
city_dict = data['city'].value_counts()[:15].to_dict()
# 绘制性别环状图
draw_pie(sex_dic)
# 绘制城市柱状图
draw_bar(city_dict)
复制
总结
说实话,这里面的男生绝对大部分是在大学认识的,毕竟理工科学校可不是闹着玩儿的;还有这 6.58% 不明性别的人不知道怎么设置的,为什么我没办法不设置,还是说......
作为一个在东莞上学的广东汕头人,这样的分布确实是在意料之中。毕竟汕头是我生活了那么久的地方,在东莞也快度过三个年头了,不知不觉要大四了,最近的压力已经逐渐增加了,暑期实习又难找,简直无力吐槽。
好像扯远了,如果你有什么脑洞或者想要挖掘更多个人好友信息,可以使用 itchat 探究微信好友的更多信息,比如头像、昵称、个性签名,看一下谁比较非主流。
文章转载自大数据的奇妙冒险,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
[MYSQL] 服务器出现大量的TIME_WAIT, 每天凌晨就清零了
大大刺猬
173次阅读
2025-04-01 16:20:44
官宣,Milvus SDK v2发布!原生异步接口、支持MCP、性能提升
ZILLIZ
113次阅读
2025-04-02 09:34:13
[MYSQL] query_id和STATEMENT_ID在不同OS上的关系
大大刺猬
85次阅读
2025-03-26 19:08:13
WingPro for Mac 强大的Python开发工具 v10.0.9注册激活版
一梦江湖远
45次阅读
2025-03-29 10:33:27
python操作MySQL数据库
怀念和想念
41次阅读
2025-03-30 23:22:07
AI与我共创WEB界面
布衣
37次阅读
2025-04-14 22:13:51
Python使用MySQL数据库(新)
怀念和想念
34次阅读
2025-03-26 09:11:04
使用python将excel数据导入数据库
wzf0072
30次阅读
2025-03-28 17:35:31
python排序sort()和sorted()区别
wzf0072
24次阅读
2025-04-09 19:57:46
「PG解密」为什么 Python 开发人员只使用 Postgres
瀚高PG实验室
24次阅读
2025-03-27 09:58:25