将QQ聊天记录创建为词云

Posted freeyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将QQ聊天记录创建为词云相关的知识,希望对你有一定的参考价值。

1. 导出并清洗qq聊天记录

  • 将qq聊天记录从电脑版qq导出

  • 去掉聊天中的图片表情以及时间戳

    具体代码如下:

    def Pretreatment():
        with open("未处理的聊天记录文件路径","r") as readfile:
            with open("处理后的聊天记录文件路径","at") as writefile:
    
                while True:
                    line = readfile.readline()
                    if line is ‘‘:
                        break
                    else:
                        line = readfile.readline().replace("[表情]","").replace("[图片]","")
                        writefile.write(str(line))
                        line = readfile.readline()
                print("ok")

2. 准备其他素材

  • 准备要生成图云的照片
  • 准备生成词云的字体(没有的话,会造成中文字体不显示的问题)

3. 准备使用到的python库

  • numpy : 处理图片文件
  • jieba : 聊天记录分词
  • matplotlib : 绘图
  • wordcloud : 绘制词云

4. 生成词云

text = open("../resource/new.txt","r").read()
    worldlist = jieba.cut(text,cut_all=False, HMM=True)
    wl = "/".join(worldlist)
    print(wl)

    coloring = np.array(Image.open("生成词云照片的路径"))
    wc = WordCloud(background_color="white", max_words=2000, mask=coloring,
                   max_font_size=50, random_state=42, font_path=‘字体文件的路径‘)
    wc.generate(wl)

    # create coloring from image
    image_colors = ImageColorGenerator(coloring)

    # show
    # 在只设置mask的情况下,你将会得到一个拥有图片形状的词云
    plt.imshow(wc, interpolation="bilinear")
    plt.axis("off")
    plt.figure()
    plt.show()
    wc.to_file("loveagin.png")

Reference

以上是关于将QQ聊天记录创建为词云的主要内容,如果未能解决你的问题,请参考以下文章

WordCloud词云(超详细)

Python实战:导出QQ聊天记录生成词云看看你和你的女友聊了什么

用QQ聊天记录生成一个词云

数据挖掘 | 可视化 WordCloud 词云(附详细代码案例)

Python爬取QQ空间好友说说并生成词云(超详细)

selenium爬取新闻做成词云(以及selenium的xpath查找方法)