如今,微信已经成为我们生活中的一部分,给我们的生活带来了很多便利,微信于2011年产生,我本人是在2013年间开始使用,众所周知,社交软件中腾讯QQ是占主导地位的,但现在看来,QQ已经被逐渐舍弃,包括我也不在使用QQ了,截止到2016年第二季度,微信已经覆盖中国 94% 以上的智能手机,月活跃用户达到 8.06亿,用户覆盖 200 多个国家、超过 20 种语言,今天我们来聊聊微信。

微信由深圳腾讯控股有限公司(Tencent Holdings Limited)于2010年10月筹划启动,由腾讯广州研发中心产品团队打造 。该团队经理张小龙所带领的团队曾成功开发过Foxmail、QQ邮箱等互联网项目。腾讯公司总裁马化腾在产品策划的邮件中确定了这款产品的名称叫做“微信”。微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造。

口干舌燥说了这么多,进入主题,这篇文章主要是通过Python的itchat库来爬取微信好友信息,主要包括'昵称','备注','性别','省份','城市','签名'等信息。关于itchat的信息请移步https://itchat.readthedocs.io/zh/latest/。

本次微信好友分析,涉及到结巴分词,图表绘制,图像处理,词云模块,中文分词等13个第三方模块,如若没有安装这些模块,可使用pip install XXX命令来安装。

通过以上两行简单的代码,运行程序扫描出现的二维码登陆网页微信,便可将微信好友的信息抓取下来,返回的信息是一个list,包括【Username, RemarkName, NickName,Sex,Province,City, Signature】等信息,其中Username是注册微信是生成的一个唯一标识符,RemarkName显示的是你好友的备注信息,NickName是好友的昵称,Sex当然就是性别了,,Province,City就是省份和城市了,Signature代表的是个性签名;这些信息中第一项是我自己的信息,所以下面分析时均除去我个人,从第二项开始。

当然,这样的数据放在这里,没有人会去看的,也没有价值,爬取的数据经过分析整理,可视化的展现在人们面前才是最具价值的,才是我们需要的。那么,下面就开始整理数据吧,废话不多说,直接看代码:

通过这么十几行代码已将我们需要的信息打印出来了,只是这些信息不够直观,密密麻麻的文字当然没有图标展现的更好了。

一、性别分析并展示:

微信好友中,有部分人不愿意填写性别的,故这些人的性别未知,其他人统计后发现一惊天大秘密,我的490位好友中,男性朋友有268位,女性朋友有196位,未知性别的26位,一看这数据量,居然是男性占大多数,暴露了还是一个单身汪的悲哀,看来今年测的桃花运看来是无法实现了。

下面是图表展示,更能说明单身汪的悲哀!!!

二、好友位置分析并展示:

好友位置主要是通过City这个字段去分析的,例如直辖市北京市区被分开统计了,结果有点不尽人意,但因初学耗时费力太大,pandas框架还未涉及,matplotlib做图太过于繁杂,先这样处理吧。使用Echats可直接展示出图片,如下地址所示,将城市信息写入数据运行即可展示出下图。

地区生成地图:http://www.echartsjs.com/examples/editor.html?c=bar-simple

通过此分析,暴露了小编是西北人无疑了,欢迎西北老乡一起交流学习哦!

Echarts 展示

位置分析部分代码

(位置分析部分代码,完整代码关注公众号后台回复获取)

三、个性签名词云分析并展示:

个性签名可以说是一个人一段时间的喜怒哀乐,还记得当时的QQ签名,一段时间就会换一个,代表这那段时间的喜怒哀乐以及悲欢离合。以下通过jieba分词和snowNLP中文分词来分析好友签名,jieba分词是将个人签名拆分开,统计出现频率相对较高的一些关键词,而中文分词则是分析好友签名中的感情倾向,即好友签名整体上是表现为正面的、负面的还是中立的,各自的比重是多少。而分词这一块是相对于初学者比较难的,也正是我话费大量精力和时间的地方,作为一个初学者一个人是无法独立完成的,上网寻找了好多资料,查看CSDN,终于找到一篇《基于Python实现的微信好友数据分析》解决了难题。分词代码均参考于这片文章,这里将不再展示了,感兴趣者可自行Google,若想获取完整代码,关注公众号【JiekeXu之路】,ID:【JiekeXu_IT】,后台回复【微信分析】即可获取本文完整代码。

附:分词词云图

通过上图分析,朋友圈好友还均是乐观向上的,珍惜自己,努力的人生永远快乐,简单的一切才是最好的生命。哈哈,才疏学浅遍布下去了,请见谅!

通过柱状图发现,朋友圈中正面积极向上的情感分析朋友有187人,而中性情感判断的朋友有121人,负面消极的情感分析有47人,这个结果和我们通过词云展示的结果基本吻合,这说明在微信好友的签名信息中,大部分的签名信息传达出来都是一种积极向上的态度。朋友圈中基本上有两类用户,第一类用户使用朋友圈记录自己的生活,第二类用户使用朋友圈输出自己的观点。对于第二类用户,它并不介意别人了解它的过去,它更在乎它从始至终输出的观点是否一致。所以,不管朋友圈里别人在或晒美食、或晒旅游、或秀恩爱、或晒宝宝、或煲鸡汤等等,在我看来这都是一种生活方式,精神层次和物质层次比你高的人群,觉得你朋友圈里的内容“无趣”,这是符合人类一贯的认知方式的,在大多数情况下,反而是那些和你层次差不多的人群,对不熟悉的人或者事物妄加判断,如果你不喜欢我朋友圈里的内容,请直接屏蔽我就好,因为这样我们还可以做朋友;如果你因为喜欢A而在我这里和我说B不好,这就真的是三观不合啦。我相信没有完全兴趣匹配的两个人,即使是男女朋友或者情侣之间,总之人与人相处嘛,真诚和互相尊重是基本要求。

四、好友头像集合

这样也算是一个总结吧,很多人喜欢使用自己的照片作为头像,也有一些人选择明星,动物,动漫,植物,甚至建筑物等,各有各自的想法,各有各自的爱好,这里不做任何评论。

先看代码,这里使用itchat库的get_head_img变将好友头像获取下来,使用for循环遍历,将图片已微信名和备注名称命名,然后将所有的图片合成一张“allUserIMG.jpg”的图片保存到对应目录下。查看完整代码,可关注公众号【JiekeXu之路】,ID:【JiekeXu_IT】,后台回复【微信好友分析】即可获取本文完整代码。

这里用程序将朋友圈好友的头像下载下来,然后用PIL工具合成一张大图,但是有部分好友头像无法下载,不知为何,亦或是微信号已停用或者拉黑删除好友了,先不去理会了,不过看起来还是比较有趣的,快来找一找你在哪?

最后,说明一下环境配置,Windows10下使用Python3.6.2,相关的第三方库前面已说过,这里不做介绍。若想查看完整代码,可关注公众号【JiekeXu之路】,ID:【JiekeXu_IT】,后台回复【微信好友分析】即可获取本文完整代码。

使用python分析微信好友的基本信息相关推荐

  1. 通过python分析微信好友数据

    随着微信的普及,越来越多的人开始使用微信.微信渐渐从一款单纯的社交软件转变成了一个生活方式,人们的日常沟通需要微信,工作交流也需要微信.微信里的每一个好友,都代表着人们在社会里扮演的不同角色.今天这篇 ...

  2. python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...

    本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里一位读者微信私聊我,问我能不能统计下微信好友信息并以文件形式保存.其实,以前也写过类似的文章, ...

  3. 搞事情了 | 教你用Python分析微信好友信息(内附完整代码)

    戳上方蓝字 "程序猿杂货铺" 关注我 并 置顶星标! 你的关注意义重大! 本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里 ...

  4. python分析微信好友签名分析

    上一篇中我们已经得到了所有微信好友,并且分析了微信好友的地域分布. 我们同时也能得到微信好友的所有签名,对于签名我们能够通过分词,分析出使用频率比较高的词,为了直观的展现,也能够生成对应的词云: 甚至 ...

  5. Python分析微信好友性别比例

    开头第一句 Python??! 我使用的环境如下:①Python版本3.7:②64位Win10系统:③IDE:PyCharm. 需要pip好的Python库有:①itchat:②matplotlib. ...

  6. python编写性别比例_Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】...

    本文实例讲述了Python分析微信好友性别比例和省份城市分布比例的方法.分享给大家供大家参考,具体如下: 安装itchat pip install itchat 使用 新建wxfx.py,拷贝以下代码 ...

  7. 使用R语言分析微信好友

    上篇使用python分析微信好友 - 简书 https://www.jianshu.com/p/c7f1b400d20a python爬虫: 数据保存后用R语言作图分析 省份分布 城市分布 微信签名生 ...

  8. 基于Python的微信好友男女比例,区域排名,签名情感分析

    项目源码下载地址:https://download.csdn.net/download/sheziqiong/85609539 wechat 微信好友男女比例,区域排名,签名情感分析 程序 备注 技术 ...

  9. python微信好友分析_基于python实现微信好友数据分析(简单)

    一.功能介绍 本文主要介绍利用网页端微信获取数据,实现个人微信好友数据的获取,并进行一些简单的数据分析,功能包括: 1.爬取好友列表,显示好友昵称.性别和地域和签名, 文件保存为 xlsx 格式 2. ...

最新文章

  1. C++:rand()函数和srand()函数解读
  2. 安装MySQL之后修改编码方式
  3. 《『若水新闻』客户端开发教程》——20.程序打包发布
  4. Hadoop权威指南阅读笔记
  5. 动态规划(最长递增子序列)---最长摆动子序列
  6. 系统集成项目管理工程师教程第二版
  7. VMware ESX的性能如何与Hyper-V的价格进行竞争?
  8. 漏洞扫描器和Nessus分析
  9. 人工智能之语音识别概述(一)
  10. 调查丨融资企业数量不如出台政策多,产业区块链破局路在何方?
  11. Java使用apache的poi将PPT转PDF文件,支持并兼容PPT和PPTX文件
  12. python使用matplotlib可视化柱状图(bar plot)、自定义柱状图的填充色、柱状图柱体的边缘色、配置字体使用中文轴标签
  13. 第157篇 合约安全-随机数
  14. 基于SSM框架的借阅图书管理系统
  15. Moment js获取今日、昨天、这周、上周、本月、上月方法
  16. 统计学第一篇,均值、中位数、众数
  17. ps 证件照替换背景色
  18. 自动洗车车牌识别系统
  19. 计算机教师的名言是,信息技术教师教育格言
  20. MNN支持NPU啦!!!

热门文章

  1. Java学习笔记----引用传递
  2. 关于调查大学生日常零用钱使用情况
  3. 八大基本数据类型(详解)
  4. mint-ui(基于 Vue.js 的移动端组件库)
  5. java自动换行方法_自动换行的实现方法zz
  6. 宋词 婉约派和豪放派
  7. 老干妈现状与未来的运营破局可能
  8. CentOS7搭建LNMP+WordPress一篇搞定
  9. wsl2重装docker遇到的问题汇总(亲测有效)
  10. (转)最时兴的开源框架—序