ReainL / wechat

微信好友男女比例,区域排名,签名情感分析
44 stars 14 forks source link

wechat

微信好友男女比例,区域排名,签名情感分析

程序 备注 技术栈
微信好友性别占比 采集微信好友性别比例并绘制饼图 itchat, matplotlib
微信好友头像 采集微信好友头像并拼接大图 itchat, math, PIL
微信好友地区分布 采集微信好友区域分布并分别制作省会和城市Top10柱形图 itchat, matplotlib
微信好友个性签名情感分析 采集微信性别比例并绘制饼图 itchat, matplotlib, jieba, numpy, snownlp, wordcloud
微信群好友统计 采集微信群好友信息 itchat, matplotlib, PIL

1、微信登录

import itchat

itchat.auto_login(hotReload=True)
itchat.dump_login_status()
we_friend = itchat.get_friends(update=True)[:]

返回的结果we_friend是微信好友的基本信息列表, 单个好友字典的 key 如下表:

key 备注
UserName 微信系统内的用户编码标识
NickName 好友昵称
Sex 性别
Province 省份
City 城市
HeadImgUrl 微信系统内的头像URL
RemarkName 好友的备注名
Signature 个性签名

2、微信好友性别占比

通过统计好友人数、男生女生各多少人算出好友性别占比,再绘制饼图。

3、微信好友头像

each_size = int(math.sqrt(float(640 * 640) / len(ls)))  # 算出每张图片的大小多少合适
lines = int(640 / each_size)
image = Image.new('RGBA', (640, 640))   # 创建640*640px的大图

微信好友头像

4、微信好友地区分布

微信好友城市Top10

微信好友区域Top10

通过区域和城市人数排名,其实大致看出你的户籍所在地和工作地点了。

5、微信好友个性签名情感分析

这里主要做了两部分

好友个性签名词云图

好友个性签名情感值分布

通过饼图来推测我的好友大多数正向情感要高于负向情感。

6、微信群好友统计

之前加了一个中产互助社群,群成员既有一线京沪广深、二线杭宁苏夏,成渝武郑,也有四五七八线地级市县以及国外的朋友,群里刚好讨论了一个话题《三到五年后离开北上广的有多少打算的》,借此机会统计下目前有多少在一线工作,3年后会再次统计一波

群聊用户列表的获取方法为update_chatroom

中产之路2群(新)好友性别比例 中产之路2群(新)群好友人数Top20

性别比例这里就不再提,群内好友人数分布从图片中可以清晰看到Top3是北京、上海、深圳,的确如此。对于普通人来说,大城市发展的机会、空间、市场、机遇、机会都会比小城市大的多。

最后, 想一块合作做更多有趣好玩的项目,欢迎关注公众号:

Python攻城狮