戳上方蓝字 “程序猿杂货铺” 关注我 并 置顶星标

你的关注意义重大!

本文经授权转载至公众号 Python 知识圈

未经授权 严禁二次转载

阅读文本大概需要 5 分钟

技术群里一位读者微信私聊我,问我能不能统计下微信好友信息并以文件形式保存。其实,以前也写过类似的文章,一篇是微信好友性别统计,一篇是制作好友签名的词云图。比较分散,今天就索性把他们整合一下,一次性完成制作好友信息 csv 表格、性别统计饼图、昵称词云图、个性签名词云图、好友城市地区分布柱形图。

效果图

以下是本次程序运行后生成的信息图。(源码获取方式文末已给出)

1、好友信息表格

csv 文件中包括昵称、备注名称、性别(1 表示男,2 表示女,0 表示没有填写性别信息)、个性签名、省份、城市。第一条信息是自己的信息。

2、好友性别统计饼状图

此图根据收集的好友信息的性别进行统计比例,图中看到我的微信好友中男性还是占大多数的,也有一部分伙伴不愿意透露自己的性别。

3、好友昵称词云图

对微信好友的昵称收集进行分词后做成词云图,图中字体越大表示出现的次数越多。可以看到类似[记忆][初见][开心][温暖]等类似的词语出现频率比较高,看来好友们大都具有怀旧情节,但比较可怕的是[加班]这个词语竟然也出现次数较多,告诉我,你们是不是天天 996 啊

4、好友个性签名词云图

对微信好友的个性签名收集进行分词后做成词云图,图中字体越大表示出现的次数越多。人生、岁月、生命、努力、学习、梦想等是我微信好友签名的主旋律,看来大家都是积极向上的乐观派。

为什么都这么乐观呢?

因为我们都知道今天解决不了的事情,不能着急,不能慌,因为明天你可能也解决不了!

5、好友主要城市分布柱形图

对微信好友资料中填写的城市或地区进行统计,图中为了展示效果,我去掉了地区个数小于 5 个的地区数据。

项目环境

语言:Python
编辑器:Pycharm

导包

需要导入的主要包如下:

  • itchat:Python 实现调用微信接口的第三方模块。

  • jieba:分词库,用于制作词云图前的分词。

  • matplotlib:画词云图需要用到。

  • wordcloud:画词云图需要用到。

  • pyecharts:用于画柱形图和饼状图。

代码分析

代码结构由 7 部分组成,收集好友信息、整合信息、保存为 csv 文件、制作性别统计饼图、制作昵称词云图、制作个性签名词云图、制作好友城市地区分布柱形图。下面对这 7 部分进行分析讲解。

收集信息

通过 itchat 库获取所有微信好友信息并进行整理,并将好友信息一一对应打包成元组,主要代码如下。

整合信息

把收集的信息整合成字典形式,方便之后对信息进行更方便的提取,主要代码如下。

保存csv文件

将上面的字典信息保存为 csv 文件,保存文件的方法之前项目也经常用到,在此不再赘述,主要代码如下。

制作性别统计饼图

在上面收集的信息中遍历好友性别信息,为 1 时,男性数量加 1,为 2 时,女性数量加 1,其他就是表示没填写性别信息的。调用 pyecharts 库中的 Pie 方法制作饼图,生成的是一个 html 文件,打开此文件就会显示统计饼图。此文件保存目录需自己指定目录,不然会报错,代码如下。

制作昵称词云图

从上面获取的信息中提取所有好友的昵称信息,进行分词。制作词云图的背景图需要指定详细的本地路径。对词云图的参数进行设置,词云图里的字体 font_path 可以更改成自己喜欢的字体,Windows 电脑一般在系统盘\Windows\Fonts 目录下,右键点击你要设置的字体查看属性就可以看到该字体的名称。

生成的词云图我保存在该项目代码的同一目录下,主要代码如下。

制作个性签名词云图

个性签名词云图和昵称词云图的代码几乎一样,只是从上面信息取的是个性签名信息做成词云图而已。代码中保存的词云图名称改成和昵称词云图不同即可,不然会覆盖保存。当然你可以把制作词云图的背景图换一个,由于代码几乎一样,就不做展示了。

制作好友城市分布图

提取信息中的城市或地区信息,去除没填写地区或城市的空白字符。对地区信息进行统计,为了展示效果,我去掉了所在地区个数在 5 个以下的情况,因为城市太多,图会显得很臃肿。调用 pyecharts 库中的 Bar 方法制作柱形图,生成的也是一个 html 文件,和上面制作性别比例饼图一样。html 文件保存目录需自己指定目录,代码如下。

后记

通过数据分析和可视化图形展示,我发现的秘密是:我的微信好友大部分都是积极向上、努力奋斗、以梦为马的伙伴,比我们优秀的人都在努力,我们没有任何借口去敷衍。最后我还发现,我的微信好友位不多了,没加我的抓紧上车了,备注「1024」即可,需要进技术群的备注「进群」。

本项目源码在本公众号「程序猿杂货铺」后台回复「微信统计」获取。

往期精彩回顾

Spring Boot 实现 SFTP 文件上传下载

漫话:如何给女朋友解释什么是乐观锁与悲观锁

伪共享(false sharing),并发编程无声的性能杀手

强大的 Postman --- API 管理工具

浅谈数据库索引的结构设计与优化

对你有用记得点这里

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

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

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

  2. 微商成功神器,python程序员教你,一键分析微信好友近期所有信息

    其他精彩内容:https://blog.csdn.net/weixin_45400881/article/details/95754294 几千个好友,怎么统计 相信做微商的微信好友都会很多,多到很多 ...

  3. python开发程序知道微信好友是否已读信息吗_微商成功神器,python程序员教你,一键分析微信好友近期所有信息...

    好友太多怎么保活 相信做微商的微信好友都会很多,多到很多都成了"僵尸"好友,但是想要成为一个成功的微商,要有两点: 1.好友多,基数决定高度 2."活的"好友多 ...

  4. python软件设计背景_教你用Python制作微信好友背景墙

    目录: 0 引言 1 环境 2 代码实现 3 后记 0 引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这 ...

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

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

  6. 使用python分析微信好友的基本信息

    如今,微信已经成为我们生活中的一部分,给我们的生活带来了很多便利,微信于2011年产生,我本人是在2013年间开始使用,众所周知,社交软件中腾讯QQ是占主导地位的,但现在看来,QQ已经被逐渐舍弃,包括 ...

  7. 微信的秘密-python可视化微信好友信息

    记得2016年第一次开通微信的时候,我以及周围的大多数人还是重度的QQ用户,当时只是跟风开通了一下,也没觉得会改变什么.没想到才两年过去,我已经忘记了QQ的存在,每天起来第一件事就是查看微信,睡觉前也 ...

  8. 手把手教你使用Python实现推箱子小游戏(附完整源码)

    文章目录 项目介绍 项目规则 项目接口文档 项目实现过程 前置方法编写 move核心方法编写 项目收尾 项目完善 项目整体源码 项目缺陷分析 项目收获与反思 项目介绍 我们这个项目是一个基于Pytho ...

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

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

最新文章

  1. 干货!用 Python 快速构建神经网络
  2. 周志华等人提出可微XGBoost算法sGBM,速度提升、准确率更胜一筹
  3. python常用算法包_Python中常用的包--sklearn
  4. java对象的内存分配_java对象在内存的分配问题
  5. ubuntu10.04 NFS服务
  6. scp ssh: connect to host 192.168.6.129 port 22: Connection refused lost connection
  7. 计算机视觉CV目标检测综述
  8. 多目标优化_学习笔记(三)MOEA/D
  9. 隐藏桌面上计算机图标不见了怎么办,电脑的快捷图标不见了怎么办
  10. css 间隙,CSS间隙属性
  11. 基金训练营学习笔记4-指数基金
  12. 产品读书《长尾理论》
  13. python首字母大写其他小写_python大小写转换,首字母大写,去除特殊字符的简单示例...
  14. 机械光开关 MEMS光开关
  15. python网易云听歌时长_用Python爬取10w条网易云音乐热评并进行分析的方法总结
  16. python协程爬取斗鱼美女图片
  17. iOS常见错误8-Missing iOS Distribution signing identity for “XXXXX”. Xcode can request one for you.
  18. 用计算机打字用哪种方法最好,打字高手练习(快速练习好电脑打字的方法)
  19. [Neck] 空间金字塔池化【池化策略】(Space Pyramid Pool, SPP)模块和路径聚合网络【增强】(Path Aggregation Network, PANet)的结构
  20. Java写时复制CopyOnWriteArrayList

热门文章

  1. atom php 方法跳转,推荐几个Atom插件,其中有让代码跳转到声明处的
  2. 前端模块化开发到底是什么?
  3. Bootstrap 信息提示框
  4. MSCS配置过程win2008
  5. DNS实战 正反向解析,域名/IP地址解析
  6. 创建vue+iview项目实现分页增删改查功能
  7. 表单引擎之表单组件详细说明
  8. OVS 流表轨迹入门及典型场景举例【ovs-appctl ofproto/trace】
  9. 【苹果推信】imessage苹果推软件安装挑选掀开CSR文件
  10. Android 热修复 Tinker接入及源码浅析