早些日子有人问我个人微信里面有一共多少朋友,我就随后拉倒了通信录最下面就找到了微信一共有多少位好友。而后他又问我,这里面你认识多少人?这一句话问的我很无语。一千多个好友我真的不知道认识的人有多少。他还紧追着不放了,你知道你微信朋友的男女比例嘛?你知道你微信朋友大部分来自什么地方吗?python
不知道不知道不知道!偶然有一天碰到大大的一条朋友圈,大概是对微信朋友作一个分析,因而乎我才想起我也能够作一些简单的统计,因而就有了今天的内容。今天的内容会以代码简单讲解结果展现为向导。算法
如下的代码内容只涉及一些简单的Python知识,稍微有一点Python知识的朋友均可以读下去。 若是你没有Python的知识你可能须要去学习一下Python,固然你也能够不用学,搭建好Python的环境就好,期间可能须要用到一些库须要本身去解决一下,在下文中也会详细诉述。json
第一步:首先抓取微信朋友的资料浏览器
既然是要作统计和分析,第一步就是微信朋友的全部能够抓取的资料抓取出来。所谓有用的资料大体来讲有如下几个内容:微信
昵称、微信号、城市、性别、星标好友、头像、个性签名、备注网络
每一项或者联合项能够作的统计echarts
性别:好友性别统计函数
城市:好友地区分布学习
备注+昵称:大体统计认识的好友比例ui
头像:人脸识别
那么如何抓取呢?这里使用了以前有一位大神写的如何找出被删的好友的代码,修改部分为从提取json数据截断,对返回的json数据进行提取分别找到了如下的所须要的信息:
代码修改成:
所返回的json结果以下图所示
昵称、微信号、城市、性别、星标好友、头像、个性签名、备注。提取以上信息,对头像图片进行下载,并对数据进行简单的清洗等等,最后一列为微信号不方便显示。
第二步:性别统计和地区分布
使用python的pandas科学计算库进行简单的统计,若是你没有用过,能够联系小编安装学习:
只要掌握了很是简单的pandas只是就能够继续往下看作如下统计
(1)、全部好友的男女比例
(2)、全部好友的城市分布
(3)、统计认识的朋友以及占全部朋友的百分比
统计方法:全部朋友 - 没有备注的朋友 - 备注与昵称相同的朋友
若是你们在学习Python的路上,或者打算学习Python须要学习资料,能够加群571799375,群里学习资料免费赠送给你们喔!
(4)、统计认识的朋友中的男女比例
统计方法:对三的结果再进行男女划分便可获得结果
把结果作成简单的图表(主要使用了百度的echarts做图)(不得不说百度其余产品虽然不怎么样,可是百度的echarts仍是不错的哟,他的官网:http://echarts.baidu.com/)
使用地图慧江苏省好友分布,这个编码我不知怎么回事,多是浏览器问题,回头我用其它浏览器查看一下。(地图汇比较傻瓜:http://www.dituhui.com/)
最后再生成省份好友分布地图
最后运用opencv的图像识别进行人像识别,统计微信好友中用人像做为头像的好友人数。
OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,能够运行在Linux、Windows和Mac OS操做系统上。它轻量级并且高效——由一系列 C 函数和少许 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的不少通用算法。
以下开始是对抓取的朋友头像进行遍历识别是否含有人脸,代码以下。
使用人像作头像的好友:59 所以不使用人像的1133,看来使用人像的人仍是不多的。
运行提取人像头像的代码最后提取出的头像以下所示 ,不得不说Python的库真是十分的有用。(由于涉及到隐私,因此这里不会展现过多的头像)
最近仍然在研究签名以及头像的可用之处,也是欢迎你们一块儿学习交流。同时但愿以上的内容能够提高一下你们的学习兴趣。关于微信好友的更多挖掘会不断进行。
(1)、人像头像与年龄之间的关系
(2)、个性签名与年龄性格之间的关系
(3)、微信号中所包含信息推算年龄层次,预测当前微信号年龄
以上就是本文的所有内容,但愿对你有所帮助!
若是你们在学习Python的路上,或者打算学习Python须要学习资料,能够加群571799375,群里学习资料免费赠送给你们喔!
本文来自网络,若有侵权,请联系小编删除!