python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...
本文经授权转载至公众号 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 文件保存目录需自己指定目录,代码如下。
后记
通过数据分析和可视化图形展示,我发现的秘密是:我的微信好友大部分都是积极向上、努力奋斗、以梦为马的伙伴,比我们优秀的人都在努力,我们没有任何借口去敷衍。
python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...相关推荐
- 搞事情了 | 教你用Python分析微信好友信息(内附完整代码)
戳上方蓝字 "程序猿杂货铺" 关注我 并 置顶星标! 你的关注意义重大! 本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里 ...
- 南通大学python期末考试试卷答案_南通大学自动评教脚本(python)
临近期末我等学沫都在紧张的进行着复习(预习),本来时间就不多,居然还让我们去评教万一因为这点时间我们挂科了咋办,于是乎用半生不熟的python写个自动评教的脚本. 一,具体分析: 我们先来评一个抓包来 ...
- opengl实现三维动画简单代码_使用Python简单实现马赛克拼图!内附完整代码
今天小编带大家使用python简单实现马赛克拼图,内容比以往会稍长一些,各位看官老爷可以慢慢细读,若有不足之处还望请斧正,闲话不多说,请看文章. 先看原图: 效果图: 思路: 拼图的原理其实很简单,就 ...
- python深度学习include框架_搞事情。《用Python实现深度学习框架》已出版上架。...
我和 @张觉非 合作的<用Python实现深度学习框架>一书已经由人民邮电出版社出版上市了.写作本书的缘由,是2017年11月我加入了360,开始负责以机器学习平台为中心的AI技术设施的研 ...
- 用python画卡通人物柒_追忆童年,教你用Python画出儿时卡通人物
大家好. 又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢? 于是,今天我们来学习 Python 的 Turtle 库绘制童年的卡通人物,一起做回年轻的那个少年. Tu ...
- 一个数里有那些约数用c++怎么做_两数的最大公约数你会求吗?(内附完整算法代码)...
两个数的最大公约数怎么求? 思考题目的同时,我在这也顺便发出三个灵魂疑问? 什么又是更相减损法? 什么又是辗转相除法? 什么又是欧几里得算法? 不懂没关系,往下看 要解决两数的最大公约数问题?,你首先 ...
- python代码手机壁纸_Python制作微信好友背景墙教程(附完整代码)
引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这里作了模糊处理. 是不是很炫,而且这还是独一无二的,毕竟 ...
- Python数据可视化:2018年北上广深空气质量分析(附完整代码)
♚ 法纳斯特,Python爱好者,喜欢爬虫,数据分析以及可视化. 就在这周偶然看到一个学弟吐槽天津的空气,不禁想起那段厚德载雾,自强不吸的日子. 无图无真相,下图为证. 左边的图是去年2月份的时候,这 ...
- Python人脸识别黑科技(二):教你使用python+Opencv完成人脸解锁
继上一篇"Python人脸识别黑科技(一):50行代码运用Python+OpenCV实现人脸追踪+详细教程+快速入门+图像识",那么今天我们来讲关于使用python+opencv+ ...
最新文章
- 作为软件工程师,你必须知道的20个常识
- 如何阅读AI顶会论文,搭建深度学习知识体系框架?
- 5g网络架构_【5G网络架构】系列之二:5G基站—gNodeB。为什么叫gNodeB?取个名而已,需要理由吗?...
- 使用RSS订阅喜欢的微博博主
- echarts的词云图表类型有哪些_数据可视化之常见12种图表类型分析
- MyGeneration的NHibernate代码生成模版
- [html] 举例说明锚点定位有什么作用?
- 王建宙:中国移动还未与苹果就iPhone达成协议
- 捕鱼分鱼、出售鱼、平分七筐鱼
- Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
- ESP32 M5 超级问卷星:轻松收集数据
- 什么是爬虫?你了解吗,能干什么,怎么用,让你了解本质
- Python-QQ聊天记录分析-jieba+wordcloud
- Java实现第九届蓝桥杯第几个幸运数字
- 算24(递归)--算法学习
- 获取微信昵称乱码php,Android 微信登录昵称乱码问题,及获取微信用户信息
- WIN10桌面任务栏消失变黑色的解决方法
- Allegro原理图反标教程
- C语言实现飞翔的小鸟小游戏
- XX系统可用性易用性
热门文章
- Vivado IP核生成设置
- Xilinx FFT IP core V9.0的介绍和使用
- 高校复试计算机英语文献翻译,专业文献英语翻译复试.pdf
- vscode进行远程服务器 An SSH installation couldn't be found、
- 随便创作的文件加密算法不知谁人能破解
- spring mvc dubbo ios android整合cms内容发布平台
- ListView使用技巧
- EMC virtual provisining and fast vp
- 【Ethereum】以太坊ERC20 Token标准完整说明
- 【Android】4.3 屏幕布局和旋转