微信聊天记录分析(IOS系统)

获得聊天记录

  1. 使用itunes或其他工具备份ios手机到pc上不要加密备份
  2. 使用工具,导出指定wx聊天记录。扫文章底部二维码关注公众号,回复 聊天记录 可获得工具。一共提供了两个工具,选择其一即可

处理和分析聊天记录

  1. 正则表达式
  2. Excel
  3. 字数统计
  4. Sublime Text
  5. ….

生成词云

  1. 使用在线生成词云网站 图悦

  2. 使用Jieba和WordCloud做词云

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

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

#读取文件内容
txt_path='聊天文件地址如./11.txt'
txt_open=(open(txt_path,encoding='UTF-8').read())

#图片路径
tran_pic = '如./12.jpg'

#设置字体
#可自行上网寻找 提供网站 http://www.cyhd.net/html/2014/fonts_0815/19.html
font='字体地址 如 ./STFangSong.ttf'

#设置背景图片并转化为数组的形式
image = Image.open(tran_pic)
image_= np.array(image)

#jieba分词
world_jieba_after = jieba.cut(txt_open, cut_all=True)#True全模式分词
world_merge= ' '.join(world_jieba_after)

wc = WordCloud(
background_color="white", # 背景颜色
max_words=2000,# 词云显示的最大词数
mask=image_, # 设置背景图片
max_font_size=700, # 字体最大值

collocations=False,
margin=2,
# width=540,
width=768,
# height=960,
height=1024,
font_path=font

)
#生成词云
wc.generate(world_merge)

#背景图片生成颜色值
image_colors = ImageColorGenerator(image_)

plt.figure()
plt.imshow(wc)
plt.axis('off')
plt.show()
# 保存图片
wc.to_file('2.png')

注意事项

  1. 使用上述代码时,词云背景自定义需要忽略白色部分(白色的地方没有信息),所以需要将图片不需要的部分变白,方法如下:
    1.  可以用ps 扣除主体后 加一个白色的图层
    2. 使用在线抠图网站

词云效果

使用H5制作总结报告

我是用的是易企秀,学习成本较低,效果如下