如何用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的Tkinter实现一个简易计算器
Dec 31 Python
python实现各进制转换的总结大全
Jun 18 Python
Python探索之SocketServer详解
Oct 28 Python
Python模糊查询本地文件夹去除文件后缀的实例(7行代码)
Nov 09 Python
python批量替换页眉页脚实例代码
Jan 22 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
pytorch三层全连接层实现手写字母识别方式
Jan 14 Python
Python通过socketserver处理多个链接
Mar 18 Python
Python多进程multiprocessing、进程池用法实例分析
Mar 24 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
python中使用 unittest.TestCase单元测试的用例详解
Aug 30 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的access操作类
2008/04/09 PHP
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
让您的菜单不离网站
2006/10/03 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
ExtJS 入门
2010/10/29 Javascript
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
canvas时钟效果
2017/02/16 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
Python使用matplotlib绘制动画的方法
2015/05/20 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
python如何快速生成时间戳
2020/07/21 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
授权委托书样本
2014/04/03 职场文书
领导班子四风表现材料
2014/08/23 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
毕业生政审意见范文
2015/06/04 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
关于python类SortedList详解
2021/09/04 Python