zoukankan      html  css  js  c++  java
  • 用Python对微信好友进行简单统计分析,获取好友的基本信息!


     

    早些日子有人问我我的微信里面有一共多少朋友,我就随后拉倒了通讯录最下面就找到了微信一共有多少位好友。然后他又问我,这里面你认识多少人?这一句话问的我很无语。一千多个好友我真的不知道认识的人有多少。他还紧追着不放了,你知道你微信朋友的男女比例嘛?你知道你微信朋友大部分来自什么地方吗?

    不知道不知道不知道!偶然有一天碰到大大的一条朋友圈,大概是对微信朋友做一个分析,于是乎我才想起我也可以做一些简单的统计,于是就有了今天的内容。今天的内容会以代码简单讲解结果展示为向导。

    以下的代码内容只涉及一些简单的Python知识,稍微有一点Python知识的朋友都可以读下去。 如果你没有Python的知识你可能需要去学习一下Python,当然你也可以不用学,搭建好Python的环境就好,期间可能需要用到一些库需要自己去解决一下,在下文中也会详细诉述。


     

    第一步:首先抓取微信朋友的资料

    既然是要做统计和分析,第一步就是微信朋友的所有可以抓取的资料抓取出来。所谓有用的资料大致来说有以下几个内容:

    昵称、微信号、城市、性别、星标好友、头像、个性签名、备注

    每一项或者联合项可以做的统计

    性别:好友性别统计

    城市:好友地区分布

    备注+昵称:大致统计认识的好友比例

    头像:人脸识别

    那么如何抓取呢?这里使用了之前有一位大神写的如何找出被删的好友的代码,修改部分为从提取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)、微信号中所包含信息推算年龄层次,预测当前微信号年龄

    以上就是本文的全部内容,希望对你有所帮助!

    写在最后:

    本文来自网络,如有侵权,请联系小编删除!

  • 相关阅读:
    pat 1034 Head of a Gang (30分)
    pta坑点
    Devc++ 编译 c++11
    Invitation Cards dijkstra法
    Cube Stacking
    畅通工程
    蚂蚁上树
    洛谷 P1439 【模板】最长公共子序列
    Recursive sequence
    A Simple Math Problem
  • 原文地址:https://www.cnblogs.com/djdjdj123/p/10254667.html
Copyright © 2011-2022 走看看