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


Posted in Python onJune 28, 2019

前言

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

1.环境说明

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

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

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

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

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

安装wordcloud

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

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

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

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

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

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

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

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

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

然后cd 到 Python 目录那

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

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

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

除了这个以外,某一个包需要翻墙才能安装,具体是哪个就不记得了,好像是 pandas。

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 的照片,具体图片看个人喜好。

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

最好就是下图这样的照片

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

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

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

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

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

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

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

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

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

Python 相关文章推荐
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
python自定义异常实例详解
Jul 11 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
Python使用字典的嵌套功能详解
Feb 27 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
python的常见矩阵运算(小结)
Aug 07 Python
python中栈的原理及实现方法示例
Nov 27 Python
解决pycharm 安装numpy失败的问题
Dec 05 Python
PyCharm如何导入python项目的方法
Feb 06 Python
解决django FileFIELD的编码问题
Mar 30 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 Python
python打包exe开机自动启动的实例(windows)
Jun 28 #Python
python脚本开机自启的实现方法
Jun 28 #Python
Python如何爬取微信公众号文章和评论(基于 Fiddler 抓包分析)
Jun 28 #Python
python把转列表为集合的方法
Jun 28 #Python
Python matplotlib学习笔记之坐标轴范围
Jun 28 #Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 #Python
python实现关闭第三方窗口的方法
Jun 28 #Python
You might like
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
移动端触摸滑动插件swiper使用方法详解
2017/08/11 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
js+css实现打字效果
2020/06/24 Javascript
Angular 如何使用第三方库的方法
2018/04/18 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python运算符重载详解及实例代码
2017/03/07 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
PyCharm无法引用自身项目解决方式
2020/02/12 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
函授本科毕业生自我鉴定
2013/10/16 职场文书
毕业生个人的求职信范文
2013/12/03 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
入党自我鉴定
2014/03/25 职场文书
小学生家长寄语
2014/04/02 职场文书
班级年度安全计划书
2014/05/01 职场文书
服务承诺书范文
2014/05/19 职场文书
检讨书范文500字
2015/01/28 职场文书
2016大学军训通讯稿
2015/11/25 职场文书