微信朋友圈里的大数据
2017-08-04 13:18
218 查看
“ 清理下[微笑],不用回。
相信大家在微信上一定被上面的这段话刷过屏,群发消息应该算是微信上流传最广的找到删除好友的方法了。但群发消息不仅仅会把通讯录里面所有的好友骚扰一遍,而且你还得挨个删除好几百个聊天记录,回复大家的疑问和鄙视。
大约一年前,网上流传一段python代码,查看被删的微信好友。原理就是新建群组,如果加不进来就是被删好友了。我也执行过。但是正如程序里面所提示的,查询结果可能会引起一些心理上的不适,请小心使用。
本文会另辟蹊径,通过调用微信接口,分析微信朋友的信息数据,能够分析拉黑的,搞微商的,性别分布,城市分布,省份分布等。
调用一个微信接口 itchat来操作微信
先看下官方介绍: itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。
调用一下函数getFriends()就能得到朋友信息列表了
有了这些数据,就可以做分析了。
用pandas得到一个二维数组,去掉作用不大的数据列,如:
‘Alias’, ‘VerifyFlag’, ‘HideInputBarFlag’, ‘UniFriend’, ‘Uin’, ‘Statues’, ‘StarFriend’, ‘UserName’, ‘AppAccountFlag’, ‘ChatRoomId’, ‘DisplayName’, ‘EncryChatRoomId’ 等作用不大的数据。
然后按照我们想要的数据分组:
结果:
用图像展现出来
1是男,2是女,0是没有填写的。
展示省份分布:
Mac上plot处理中文没处理好。
因为怕有些心理的不适,这里没有统计拉黑的名单。但是很容易得到的,字段”UniFriend”。
统计分析签名,能分析部分微商出来。这里也没有去统计了。
一个小小的朋友圈,也能折射人间百态。淡定淡定!
更多精彩,请关注微信公众号: python爱好部落
相信大家在微信上一定被上面的这段话刷过屏,群发消息应该算是微信上流传最广的找到删除好友的方法了。但群发消息不仅仅会把通讯录里面所有的好友骚扰一遍,而且你还得挨个删除好几百个聊天记录,回复大家的疑问和鄙视。
大约一年前,网上流传一段python代码,查看被删的微信好友。原理就是新建群组,如果加不进来就是被删好友了。我也执行过。但是正如程序里面所提示的,查询结果可能会引起一些心理上的不适,请小心使用。
本文会另辟蹊径,通过调用微信接口,分析微信朋友的信息数据,能够分析拉黑的,搞微商的,性别分布,城市分布,省份分布等。
调用一个微信接口 itchat来操作微信
先看下官方介绍: itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。
import itchat # 先登录 itchat.auto_login(hotReload=True) def getFriends(): return itchat.get_friends(update=True)[0:]
调用一下函数getFriends()就能得到朋友信息列表了
有了这些数据,就可以做分析了。
用pandas得到一个二维数组,去掉作用不大的数据列,如:
‘Alias’, ‘VerifyFlag’, ‘HideInputBarFlag’, ‘UniFriend’, ‘Uin’, ‘Statues’, ‘StarFriend’, ‘UserName’, ‘AppAccountFlag’, ‘ChatRoomId’, ‘DisplayName’, ‘EncryChatRoomId’ 等作用不大的数据。
然后按照我们想要的数据分组:
if __name__ == '__main__': friends = getFriends() friends_df = pd.DataFrame(list(friends)) friends_df.dropna(axis=1, inplace=True) droped_cloum = ['Alias', 'VerifyFlag', 'HideInputBarFlag', 'UniFriend', 'Uin', 'Statues', 'StarFriend', 'UserName', 'AppAccountFlag', 'ChatRoomId', 'DisplayName', 'EncryChatRoomId', 'HeadImgUrl', 'MemberCount', 'OwnerUin', 'MemberList', 'PYInitial', 'Signature', 'SnsFlag', 'PYQuanPin', 'KeyWord', 'RemarkPYInitial', 'RemarkPYQuanPin'] drop_cloums(friends_df, droped_cloum) friends_df.to_csv("friends.csv") city = friends_df.groupby('City').size() province = friends_df.groupby('Province').size() sex = friends_df.groupby('Sex').size() print(city) print(province) print(sex)
结果:
用图像展现出来
sex.plot(kind='pie', subplots=True, autopct='%.2f', figsize=(4, 4), title="Sex",legend = True) # 显示百分比 plt.show()
1是男,2是女,0是没有填写的。
展示省份分布:
plt.xticks(np.arange(len(province.index)), province.index, fontproperties=font) plt.show(province.plot(kind='bar'))
Mac上plot处理中文没处理好。
因为怕有些心理的不适,这里没有统计拉黑的名单。但是很容易得到的,字段”UniFriend”。
统计分析签名,能分析部分微商出来。这里也没有去统计了。
一个小小的朋友圈,也能折射人间百态。淡定淡定!
更多精彩,请关注微信公众号: python爱好部落
相关文章推荐
- IOS-50-微信朋友圈一片模糊,教你在Mac和window系统下如何实现网络数据抓包
- 微信官方检测僵尸粉神器来了:不常联系的朋友
- 从事大数据工作的朋友 你拥有几个大数据证书?
- 怎样恢复微信的聊天记录数据呢
- 以微信文章阅读数为例说明数据分析应注意数据采集方式
- 从腾讯朋友圈揭秘内部AI部门竞争关系,谁能像微信当年一样熬出头?
- 微信小程序数据缓存API整理
- 微信小程序 从服务器获取数据(十四)
- android 仿qq微信退出进入数据不用重新加载
- 微博,微信,微信朋友圈,QQ分享工具类ShareUtil
- 微信小程序页面跳转传参填充数据的小案例
- 朋友开网店 做个抓取数据的小程序
- 微信技术总监讲大数据高并发系统架构
- 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(java)
- 腾讯发布的微信生活白皮书,透露了哪些有意思的数据?
- 微信小程序View层向逻辑层传递数据——事件data-xxx
- android 微信朋友分享,朋友圈分享
- 希望有朋友一起研究网页的数据采集