如何用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 相关文章推荐
python查看FTP是否能连接成功的方法
Jul 30 Python
python代码过长的换行方法
Jul 19 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
在python中实现调用可执行文件.exe的3种方法
Jul 07 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
Aug 22 Python
python tornado修改log输出方式
Nov 18 Python
Python使用Pandas读写Excel实例解析
Nov 19 Python
Python面向对象封装操作案例详解
Dec 31 Python
python实现小程序推送页面收录脚本
Apr 20 Python
python openCV自制绘画板
Oct 27 Python
Python使用tkinter实现小时钟效果
Feb 22 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 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 循环列出目录内容的函数代码
2010/05/26 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
PHP PDOStatement::fetch讲解
2019/01/31 PHP
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
JavaSacript中charCodeAt()方法的使用详解
2015/06/05 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
Python交换变量
2008/09/06 Python
python如何获取服务器硬件信息
2017/05/11 Python
Python生成随机密码的方法
2017/06/16 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
Python实现区域填充的示例代码
2021/02/03 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
挪威户外活动服装和装备购物网站:Bergfreunde挪威
2016/10/20 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
聚美优品广告词改编
2014/03/14 职场文书
介绍信怎么写
2015/01/30 职场文书
留学推荐信中文范文
2015/03/26 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android