• 售前

  • 售后

热门帖子
入门百科

Python将QQ谈天记载生成词云的示例代码

[复制链接]
风吹吹蛋蛋疼风w 显示全部楼层 发表于 2021-10-25 19:11:55 |阅读模式 打印 上一主题 下一主题
在这个恋人节前夕,我把现任对象接纳掉了,这段感情积攒了太多的扫兴,也给了我太多的伤害,所以我看到这个活动的第一反应是拒绝的。然而人生嘛,最重要的就是体验,沉浸在过去的回想里没故意义,积极面对才气让自己更好地大张旗鼓。
所以,当大家都同等地在这个活动里各种秀恩爱时,我决定走一条不一样的路来为只身狗和刚分手的小同伴们打打气:时间能改变的,是那些原本就不坚定的东西,未来的路还很长,笑一笑,齐备都会过去的!
言归正传,我们要做的使命是,把 QQ 分手聊天记录导出,利用 Python 分词后做身分开的桃心形状的词云举行展示。听着就很故意思,来,开干!
步骤一:创建和导出聊天记录

1.创建聊天记录内容

选择 QQ 聊天记录是由于比力简朴,而微信导出相对贫苦。思量到个人隐私题目,我申请了 QQ 小号,和大号之间发了一些分手语录作为提取素材:

2.导出聊天记录

我利用的是TIM,点击右下角的主菜单,选择“设置”:



选择“消息记录” ->> “安全设置” ->> “打开消息管理器” :



选择需要导出的关系人,右键点击“导出消息记录”:


生存到 F:\csdn 目次下,生存范例选择文本文件,定名为 chat.txt:



第一步导出操纵完成。

步骤二:安装需要的库

1.安装 jieba 库
  1. pip install jieba -i https://pypi.douban.com/simple/
复制代码


2.安装 Wordcloud 库

网上有人说直接利用 pip install 安装 Wordcloud 会有题目,所以我们先下载到本地:
Wordcloud 下载链接
选择适合自己情况的安装包(cp 背面的数字代表 Python 版本,肯定要对应起来),下载到 Python 安装目次下的 Scripts 文件夹中:


打开cmd,进入该路径,实行安装下令:
  1. pip install wordcloud-1.8.1-cp38-cp38-win_amd64.whl
复制代码
安装乐成截图如下:


步骤三:代码实现

选择一张分开的心图片(分开的心也很美嘛):



在选择生成配色方案的图片时,要求配景白色,边缘越清楚越好。
qqChat.py 代码实现:
  1. import matplotlib.pyplot as plt
  2. from wordcloud import WordCloud
  3. import jieba
  4. from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
  5. import os
  6. import numpy as np
  7. import PIL.Image as Image
  8. newtext = []
  9. #打开聊天记录文件
  10. for word in open('F:\\csdn\\chat.txt', 'r',encoding='utf-8'):
  11.   tmp = word[0:4]
  12.   #过滤掉聊天记录的时间和qq名称
  13.   if (tmp == "2021"):
  14.     continue
  15.   tmp = word[0:2]
  16.   #print(tmp)
  17.   newtext.append(word)
  18. #将过滤后的文本重新写入文件并保存
  19. with open('F:\\csdn\\chat_final.txt', 'w', encoding='utf-8') as f:
  20.   for i in newtext:
  21.     f.write(i)
  22. #打开新生成的聊天记录文件
  23. text = open('F:\\csdn\\chat_final.txt', 'r',encoding = 'utf-8').read()
  24. word_jieba = jieba.cut(text, cut_all=True)
  25. word_split = " ".join(word_jieba)
  26. #去掉一些意义不大的字
  27. stop_words = set(STOPWORDS)
  28. stop_words.add("的")
  29. stop_words.add("我")
  30. stop_words.add("你")
  31. stop_words.add("是")
  32. stop_words.add("就")
  33. #根据心形图片生成配色方案,这里的路径要配置正确
  34. alice_coloring = np.array(Image.open(os.path.join('F:\\','heart.jpg')))
  35. my_wordcloud = WordCloud(scale=16,background_color="white", max_words=800, stopwords=stop_words, mask=alice_coloring,max_font_size=80, random_state=42,font_path='C:/Windows/Fonts/simhei.ttf')\
  36.   .generate(word_split)
  37. image_colors = ImageColorGenerator(alice_coloring)
  38. plt.imshow(my_wordcloud.recolor(color_func=image_colors))
  39. plt.imshow(my_wordcloud)
  40. plt.axis("off")
  41. plt.show()
复制代码
可以根据自己的需求调整参数,比如假如有一些语气词和无意义的字可以通过设置 stopwords 来举行过滤,末了输入下令运行代码:
  1. python qqChat.py
复制代码
结果如下,照旧很漂亮的。



词云里面频率最高的几个词分别是“爱”,“自己”,“喜好”,也恰好是我想表达的:不管一段爱情有多么甜蜜或多么悲伤,始终都不能失去自己,哪怕说再见也要保持自满的姿态,每一段人生履历都有它的意义和价值,平和地担当结果就好了。
到此这篇关于Python将QQ聊天记录生成词云的示例代码的文章就先容到这了,更多干系Python 生成词云内容请搜刮草根技术分享以前的文章或继承欣赏下面的干系文章盼望大家以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作