如何用Python制作微信好友个性签名词云图

 更新时间:2026年02月07日 15:18:54   作者:伪君子_  
这篇文章主要介绍了如何用Python制作微信好友个性签名词云图,上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来,需要的朋友可以参考下

前言

上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来。

1.环境说明

Win10 系统下 Python3,编译器是 Pycharm,需要安装 itchat、matplotlib、pandas、jieba、wordcloud、numpy、pillow 这几个包

介绍 Pycharm 安装第三方包的方法。

由于某些包不能直接用 Pycharm 安装,所以这里说一下安装的方法。

安装wordcloud

worcloud需要numpy> = 1.5.1,pillow和matplotlib,所以要先安装numpy,pillow和matplotlib。

在这个链接找到合适的whl文件

如果是电脑是64位,python是3.6就下载下面这个。

下载回来就放到Python的目录下,就比如我是把 Python 安装在E:\Python36这个目录,就把下载回来的 wordcloud-1.3.3-cp36-cp36m-win_amd64.whl 放在这。

然后按win键+R ,输入cmd,回车

然后cd 到 Python 目录那

接下来就是安装了,pip install wordcloud-1.3.3-cp36-cp36m-win_amd64.whl

2.相关代码

先把需要的东西导入,安装这些包可不简单

import itchat
import matplotlib.pyplot as plt
import re, jieba
import pandas as pd
from wordcloud import WordCloud, ImageColorGenerator
import numpy as np
import PIL.Image as Image

登录微信

itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)

获取数据

data = pd.DataFrame() # 提出好友的昵称、性别、省份、城市、个性签名,生成一个数据框
columns=['NickName', 'Sex', 'Province', 'City', 'Signature']
for col in columns:
val = []
for i in friends[1:]: # friends[0]是自己的信息,因此我们要从[1:]开始
val.append(i[col])
data[col] = pd.Series(val)

把个性签名中的 emoji 和别的东西过滤一下

siglist = []
for i in data['Signature']:
signature = i.strip().replace('emoji','').replace('span','').replace('class','')
rep = re.compile('1f\d+\w*|[<>/=]') # 具体含义另行查看
signature = rep.sub('', signature)
siglist.append(signature)
text = ''.join(siglist)

使用结巴分词进行分词,用 matplotlib 把图画出来

word_list = jieba.cut(text, cut_all=True)
word_space_split = ' '.join(word_list)
coloring = np.array(Image.open("E:/Python/wechat/toux.jpg")) #这个路径可以改,最好还是不要改
my_wordcloud = WordCloud(background_color="white", max_words=2000,
mask=coloring, max_font_size=100, random_state=42, scale=2,
font_path="C:/Windows/Fonts/simkai.ttf").generate(word_space_split)
image_colors = ImageColorGenerator(coloring)
plt.imshow(my_wordcloud.recolor(color_func=image_colors))
plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()

3.运行

先说明一下,如果能看懂代码,知道该怎么把必要的文件弄好,那就不怎么需要看下面这个。

如果看得不太理解,运行前一定要在 E 盘建立一个文件夹。路径是 E:\Python\Wechat ,然后在文件夹中放入一张命名为 toux.jpg 的照片,具体图片看个人喜好。

最好就是下图这样的照片

这样生成的词云就会很好看

意思就是图片要有白色的背景,人物颜色较鲜艳,人物突出(图片分辨率要高)

把代码安装顺序复制到 Pycharm,然后鼠标右键,选择 Run,扫描弹出来的二维码,登录微信网页版,确认后等待一下,看到下图就说明代码运行得很完美,成功运行,没有报错。

然后稍微等一下就可以看到词云图了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现的序列化和反序列化二叉树算法示例

    Python实现的序列化和反序列化二叉树算法示例

    这篇文章主要介绍了Python实现的序列化和反序列化二叉树算法,结合实例形式分析了Python二叉树的构造、遍历、序列化、反序列化等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • Python实现Windows风格文件夹自然排序的全攻略

    Python实现Windows风格文件夹自然排序的全攻略

    在Windows资源管理器中,文件夹排序遵循自然数值逻辑:11-1会排在11之后而非2之前,file10.txt会排在file2.txt之后,本文将详细解析如何在Python中实现这种智能排序,需要的朋友可以参考下
    2025-10-10
  • Python结合SQLite构建一个完整数据驱动应用的终极指南

    Python结合SQLite构建一个完整数据驱动应用的终极指南

    这篇文章主要为大家详细介绍了Python结合SQLite构建一个完整数据驱动应用的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-01-01
  • python import logging日志(日志封装)详解

    python import logging日志(日志封装)详解

    文章介绍了如何使用Python的logging模块创建和配置日志类,包括初始化logger对象、设置日志级别和格式、自动分割日志文件等,还展示了如何在多个文件中使用日志功能,并通过配置文件进行日志配置
    2026-01-01
  • 解决django框架model中外键不落实到数据库问题

    解决django框架model中外键不落实到数据库问题

    这篇文章主要介绍了解决django框架model中外键不落实到数据库问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python通过re正则表达式切割中英文的操作

    python通过re正则表达式切割中英文的操作

    这篇文章主要介绍了python通过re正则表达式切割中英文的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • MindSpore导入CUDA算子的解决方案

    MindSpore导入CUDA算子的解决方案

    本文介绍了在MindSpore标准格式下进行CUDA算子开发的方法和流程,可以让开发者在现有的AI框架下仍然可以调用基于CUDA实现的高性能的算子,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Python并发多线程的具体操作步骤

    Python并发多线程的具体操作步骤

    并发指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多任务一起执行,下面这篇文章主要给大家介绍了关于Python并发多线程的具体操作步骤的相关资料,需要的朋友可以参考下
    2024-02-02
  • 深入理解Python虚拟机中浮点数(float)的实现原理及源码

    深入理解Python虚拟机中浮点数(float)的实现原理及源码

    在本篇文章当中主要分析在 cpython 虚拟机当中 float 类型的实现原理以及与他相关的一些源代码,文中的示例代码讲解详细,感兴趣的可以了解一下
    2023-03-03
  • Python实现的密码强度检测器示例

    Python实现的密码强度检测器示例

    这篇文章主要介绍了Python实现的密码强度检测器,结合实例形式分析了Python密码强度检测的原理与实现方法,涉及Python字符串运算与转换、判断等相关操作技巧,需要的朋友可以参考下
    2017-08-08

最新评论