前几天已经把效果图发了出来,但是没有放出步骤以及代码,今天整理了一下发给大家,首先前期准备如下:
一台电脑
一部ROOT过的安卓手机
1.微信聊天记录备份
IOS系统
-
登录微信电脑版,使用左下角的“设置—备份与恢复—备份聊天记录至电脑”
-
在手机微信上选择想要分析的聊天记录(建议选择仅备份文字消息,不然会很慢)
安卓系统
-
本机已ROOT则并不需要这一步,未ROOT的安卓机和IOS系统操作相同
2.微信聊天记录导出TXT
-
在已ROOT的安卓机上下载软件“微信聊天记录导出助手”并赋予ROOT权限,登录微信
-
登录微信电脑版,使用左下角的“设置—备份与恢复—恢复聊天记录至手机”
-
恢复完成后打开“微信聊天记录导出助手”按软件提示步骤将聊天记录导出为EXCEL
-
将导出文件发回电脑转为TXT
软件华为市场网址:http://a.vmall.com/uowap/index.html#/detailApp/C7517453
3.做出词云背景图片
-
使用word或者画图直接画一个大红心转为图片或者截图保存即可,如下图这种即可
4.做出词云并保存
不废话,代码如下:
# encoding=utf-8
import jieba
import os
import sys
import matplotlib.pyplot as plt
from wordcloud import WordCloud,ImageColorGenerator
reload(sys)
sys.setdefaultencoding('utf-8') #没这一步会乱码
import jieba.posseg as psg
os.chdir('E:\python-code')
text = open('us.txt').read() #提取数据源文本
words= [x.word for x in psg.cut(text) if len(x.word) >= 2] # 取长度大于等于两位的词
from collections import Counter
c = Counter(words).most_common(500)
text = {}
for x in c :
text[x[0]] = int(x[1])
bj_pic=plt.imread('105.bmp')
wc = WordCloud( background_color = 'white', # 设置背景颜色
max_words = 300,
mode ="RGBA",
mask=bj_pic,
scale=6.5,
relative_scaling=0.45, # 设置频数与字体大小的相关性
font_path = 'C:/Windows/Fonts/simhei.ttf',# 设置字体格式,如不设置显示不了中文
max_font_size = 45 # 设置字体最大值
)
img_color = ImageColorGenerator(bj_pic)
wc.fit_words(text).recolor(color_func=img_color)
plt.imshow(wc)
plt.axis("off")
plt.show()
pass
最后再放一下两位志愿者的虐狗实例照片
喜欢我可以扫描下面这个萌萌的二维码关注我哦~