七夕快到了,你们是不是还在苦恼送什么好呢(其实大多都是单身dog)
首先,代码成果展示
然后,开始我们的代码编写吧!
第一步
获取数据,我们可以直接从QQ上下载下来,微信你可以合并转发,创建一个txt文件,然后处理数据
import re
pattern = re.compile(u"[\u4e00-\u9fa5]+")
with open("test.txt",'r',encoding='utf-8') as f:
data = re.findall(pattern,f.read())
data = ''.join(data)
print(data)
with open('test.txt','w') as f:
f.write(data)
这个是处理掉上面的信息头,如时间之类的
第二步对数据处理
import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud
def word_cloud(data_path, mask_path):
with open(data_path,'r') as f:
data = f.read()
mask = plt.imread(mask_path)
cut_data = jieba.cut(data)
str_cut_data = ' '.join(cut_data)
list_cut_data = str_cut_data.split(' ')
my_wordcloud = WordCloud(scale=30,font_path='./msyh.TTF',mask=mask,
background_color="white").generate(str_cut_data)
plt.imshow(my_wordcloud)
plt.axis('off')
plt.show()
word_cloud(data_path="test.txt",mask_path="22.jpg")
在my_wordcloud这一行中的scale可以用来调节分辨率,数值越大分辨率越高,当然做出来的速度也越来越慢。