用 python 分析了微信上所有的微信好友,发现了一个秘密...

最近研究了一下itchat和matplotlib,目前实现了对微信好友头像、性别、区域、个性签名的采集及展示。

本文就来详细介绍一下这个库的用法和一些核心逻辑实现。

1.微信登录

  • 三行代码实现登录,为了避免我们频繁扫描二维码登录,这里我们加入hotReload=True

  • 好友信息获取

这里的we_friend是好友的信息的列表,每一个好友字典的 key 如下表

key备注
UserName微信系统内的用户编码标识
NickName好友昵称
Sex性别
Province省份
City城市
HeadImgUrl微信系统内的头像URL
RemarkName好友的备注名
Signature个性签名

有了key对应的值,我们就好处理了。

2.好友性别

这里顺便提一下:如果sex=1则代表男性,sex=2代表女性

统计出男生、女生的以及总人数后,占比自然而然就出来了,为了更好的展示男女比例,我们以饼图展示。

  • 绘制饼图

作为一个码农、程序猿,还能有这么多女性好友实属不易啊。敏感的我,看了这个比例深深地感觉到了不安,(此图女朋友不可见)另外,怎么还有一些未知生物的存在…


友情提醒:matplotlib中文乱码这个问题一直存在,这里记录下如何解决matplotlib中文乱码

  • 准备好想要使用的中文字体,这里我用的是SimHei,附下载地址:中文字体下载

  • 找到matplotlib的文件位置

  • 进入上方打印的路径

  • 把刚才下载的字体文件解压放入/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf 目录

  • 返回上级目录,修改matplotlibrc文件,取消相关注释,并在font.serif加入刚才下载的字体

  • 删除matplotlib缓存。

3.微信好友头像

这里其实看过我之前文章的应该知道,其实头像的拼接主要分为两部分

  • 1.采集所有好友头像保存本地,

  • 2.对所有头像进行拼接

密集恐惧症患者请忽略!!!

4.微信好友地区分布

获取区域及城市

由于城市太多,我们取好友数量排名前十的城市及区域进行展示,感兴趣的可以稍微改下代码,就可以展示所有区域人数。

排序这里我用了Python的sorted()函数,列表的每个元素都为二维元组,key参数传入了一个lambda函数,其x就代表列表里的每一个元素,然后分别利用索引返回元素内的第一个和第二个元素,这就代表了sorted()函数利用哪一个元素进行排列。而reverse决定是正序还是倒序,默认为False。

  • 区域、城市柱形图展示,由于思路代码是一致的,所以这里只展示区域的代码

通过柱形图展示,可以清晰看到我的好友主要分布在河南和上海,借此不难推测出我的工作地址以及户籍所在地。

5.微信好友个性签名情感分析及词云图展示

这里使用了常用的中文分词库jieba,词云图的背景采用了萌萌哒小猪佩奇(´๑•_•๑)

  • 分词

  • 制作词云图

最初,只想做一个简单的词云图,但是看到这个词云图中梦想、努力、专注、尊重、希望这个几个词以后,感觉到我的好友生活态度还是蛮积极向上的,就想不如再做一个简单的情感分析,说干就干。

从图中可以看出,正向情感要远远多于负向情感的数据,积极乐观的人往往都在一个圈子,果然是物以类聚,人以群分啊。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253962.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

超简单的方法找出QQ共同好友

先说两句废话,今天和小伙伴在看空间的小秘密,惊讶的发现有个共同的小秘密,就想把他找出来hhh,然后就有了这一步 1. 获取数据 先打开网页版的QQ邮箱,并且进入写信界面,然后!!&#…

我用 Python 爬取微信好友,最后发现一个大秘密

前言 你身处的环境是什么样,你就会成为什么样的人。现在人们日常生活基本上离不开微信,但微信不单单是一个即时通讯软件,微信更像是虚拟的现实世界。你所处的朋友圈是怎么样,慢慢你的思想也会变的怎么样。最近在学习 itchat&#…

用 Python 分析了所有微信好友,发现了一个秘密...

点击上方“何俊林”,马上关注,每天早上8:50准时推送 真爱,请置顶或星标 Illustrations by Evgenij Kungur 文/ Python攻城狮 最近研究了一下itchat和matplotlib,目前实现了对微信好友头像、性别、区域、个性签名的采集及展示。 本…

chatgpt赋能python:Python中画笔放下:掌握Python图形编程

Python 中画笔放下:掌握 Python 图形编程 Python 是一种高级编程语言,广泛应用于数据处理、人工智能、Web 应用程序等领域。除了这些应用外,Python 还可以用于图形编程,包括绘制 2D 和 3D 图形、创建游戏和交互式应用程序等。在 …

使用Python处理PDF文件的简介与实践

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

影驰 H610M 光影 评测

影驰 H610M 光影 针对英特尔 12 代酷睿处理器设计,采用了 H610 芯片组,造型简洁,面向入门级用户推出。影驰 H610M 光影组装电脑怎么搭配更合适这些点很重要http://www.adiannao.cn/du 主板采用 M-ATX 版型,供电部分没有覆盖散热片…

影驰 H610M 光影主板 评测

影驰宣布 H610M 光影主板首发价格为 599 元。这款主板针对英特尔 12 代酷睿处理器设计,采用了 H610 芯片组,造型简洁,面向入门级用户推出。 主板采用 M-ATX 版型,供电部分没有覆盖散热片。产品提供两个内存插槽,支持 D…

影驰gtx960显卡怎么样_影驰gtx960 2g_影驰gtx960 2g跑分

刚到手的二手GTX960影驰虎将跑分 割版的GTX960 2G显卡,游戏性能只是和GTX960/1050相当。如果你只是用来玩网游戏和一般的单机游戏的话,倒是够用, 否则的话,建议购买二手的4G版的GTX960显卡,这样就可以在1080P下玩大多…

starram内存条怎么样_starram内存牌子_星存内存条

我的电脑是星存(StarRam)内存条,512 DDR400 可看网上说有散热片的是假的? 请问是这样的吗? 假的和真的性能差别大不大??前天加了条内存,是黑金刚521 DDR400的, 可是安电脑里就不对了,倒是比以前快了,可是IE总出错,下载东西用迅雷一直自动关闭,重装系统干脆连硬盘都找不到了…

Sequelize:Node.js 中的强大 ORM 框架

❤️砥砺前行,不负余光,永远在路上❤️ 目录 前言优势:提高效率,不用SQL即可完成数据库操作。 那什么是 Sequelize?主要特性:1、模型定义和映射:2、关联和联接:3、事务管理&#xff…

chatgpt赋能python:Python中提取指定元素——一个简单而精细的方法

Python中提取指定元素——一个简单而精细的方法 在网页抓取中,经常需要提取特定元素,例如标题、段落、图片等,以便于后续的数据处理与分析。而Python则是许多工程师在此领域中的首选语言,其灵活的语法和强大的第三方库给爬虫和数…

chatgpt赋能python:Python中用什么表示空格

Python中用什么表示空格 空格在编程中是一个非常重要的概念,特别是在Python中。Python是一门非常灵活的语言,空格是它语法的一个关键组成部分。今天我们将探讨的是Python中用什么表示空格。 空格是Python中的一个重要概念,它被用来表示代码…

制作嵌入式busybox rootfs系统

1、busybox下载 BusyBox 此篇使用版本BusyBox 1.31.1 (stable) 2、设置交叉编译环境变量 source environment-setup-aarch64-poky-linux或者其他架构的编译链工具 3、busybox编译设置 cd busybox-1.31.1 修改根目录Makefile中的CROSS_COMPILE和ARCH参数 比如ARCH ? ar…

玻璃制品行业丨外贸业务管理难点及解决方案

玻璃作为一种重要的建筑材料,在国际贸易中一直占有一定的份额。随着国外市场需求量的不断增加,对玻璃制品的技术含量要求越来越高,需要在研发方面的投入也逐步加大。由于国际市场竞争激烈,想要做玻璃制品行业的外贸公司&#xff0…

如何使用Python自动化测试工具Selenium进行网页自动化?

引言 Selenium是一个流行的Web自动化测试框架,它支持多种编程语言和浏览器,并提供了丰富的API和工具来模拟用户在浏览器中的行为。Selenium可以通过代码驱动浏览器自动化测试流程,包括页面导航、元素查找、数据填充、点击操作等。 与PyAuto…

华为网络设备查询系统时间及修改系统时间命令

查看当前系统时间 dis time all 手动修改系统时间clock datetime 14:25:00 2020-6-19

华为计算产品备件查询助手

华为计算产品备件查询助手 https://support-it.huawei.com/server-spareparts/#/spareparts

华为设备历史200条命令查询方法

有时配置误操作后又执行了很多新命令,需要复查或纠正时无法通过上下键直接翻到之前配置的命令,此时可以使用display history-command all-users 查询最近200条配置的命令,如下图所示:

Windows 查看是否激活

打开cmd 输入【slmgr.vbs /xpr】后按【回车键】 弹出如下对话框表示激活成功

如何查看电脑激活状态

** 如何查看电脑激活状态 ** 1 按下“winr”输入“slmgr.vbs -xpr” 2 点击“确定”。