在这个情人节前夕,我把现任对象回收掉了,这段感情积攒了太多的失望,也给了我太多的伤害,所以我看到这个活动的第一反应是拒绝的。然而人生嘛,最重要的就是体验,沉浸在过去的回忆里没有意义,积极面对才能让自己更好地重振旗鼓。
所以,当大家都一致地在这个活动里各种秀恩爱时,我决定走一条不一样的路来为单身狗和刚分手的小伙伴们打打气:时间能改变的,是那些原本就不坚定的东西,未来的路还很长,笑一笑,一切都会过去的!
言归正传,我们要做的任务是,把 QQ 分手聊天记录导出,使用 Python 分词后做成分开的桃心形状的词云进行展示。听着就很有意思,来,开干!
步骤一:创建和导出聊天记录
1.创建聊天记录内容
选择 QQ 聊天记录是因为比较简单,而微信导出相对麻烦。考虑到个人隐私问题,我申请了 QQ 小号,和大号之间发了一些分手语录作为提取素材:
2.导出聊天记录
我使用的是TIM,点击右下角的主菜单,选择“设置”:
选择“消息记录” - “安全设置” - “打开消息管理器” :
选择需要导出的关系人,右键点击“导出消息记录”:
保存到 F:\csdn 目录下,保存类型选择文本文件,命名为 chat.txt:
第一步导出操作完成。
步骤二:安装需要的库
1.安装 jieba 库
pip install jieba -i https://pypi.douban.com/simple/
2.安装 Wordcloud 库
网上有人说直接使用 pip install 安装 Wordcloud 会有问题,所以我们先下载到本地:
Wordcloud 下载链接
选择适合自己环境的安装包(cp 后面的数字代表 Python 版本,一定要对应起来),下载到 Python 安装目录下的 Scripts 文件夹中:
打开cmd,进入该路径,执行安装命令:
pip install wordcloud-1.8.1-cp38-cp38-win_amd64.whl
安装成功截图如下:
步骤三:代码实现
选择一张分开的心图片(分开的心也很美嘛):
在选择生成配色方案的图片时,要求背景白色,边缘越清晰越好。
qqChat.py 代码实现:
import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS import os import numpy as np import PIL.Image as Image newtext = [] #打开聊天记录文件 for word in open('F:\\csdn\\chat.txt', 'r',encoding='utf-8'): tmp = word[0:4] #过滤掉聊天记录的时间和qq名称 if (tmp == "2021"): continue tmp = word[0:2] #print(tmp) newtext.append(word) #将过滤后的文本重新写入文件并保存 with open('F:\\csdn\\chat_final.txt', 'w', encoding='utf-8') as f: for i in newtext: f.write(i) #打开新生成的聊天记录文件 text = open('F:\\csdn\\chat_final.txt', 'r',encoding = 'utf-8').read() word_jieba = jieba.cut(text, cut_all=True) word_split = " ".join(word_jieba) #去掉一些意义不大的字 stop_words = set(STOPWORDS) stop_words.add("的") stop_words.add("我") stop_words.add("你") stop_words.add("是") stop_words.add("就") #根据心形图片生成配色方案,这里的路径要配置正确 alice_coloring = np.array(Image.open(os.path.join('F:\\','heart.jpg'))) 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') .generate(word_split) image_colors = ImageColorGenerator(alice_coloring) plt.imshow(my_wordcloud.recolor(color_func=image_colors)) plt.imshow(my_wordcloud) plt.axis("off") plt.show()
可以根据自己的需求调整参数,比如如果有一些语气词和无意义的字可以通过配置 stopwords 来进行过滤,最后输入命令运行代码:
python qqChat.py
效果如下,还是很漂亮的。
词云里面频率最高的几个词分别是“爱”,“自己”,“喜欢”,也恰恰是我想表达的:不管一段爱情有多么甜蜜或多么悲伤,始终都不能失去自己,哪怕说再见也要保持骄傲的姿态,每一段人生经历都有它的意义和价值,平和地接受结果就好了。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 第五街的士高《印度激情版》3CD [WAV+CUE][2.4G]
- 三国志8重制版哪个武将智力高 三国志8重制版智力武将排行一览
- 三国志8重制版哪个武将好 三国志8重制版武将排行一览
- 三国志8重制版武将图像怎么保存 三国志8重制版武将图像设置方法
- 何方.1990-我不是那种人【林杰唱片】【WAV+CUE】
- 张惠妹.1999-妹力新世纪2CD【丰华】【WAV+CUE】
- 邓丽欣.2006-FANTASY【金牌大风】【WAV+CUE】
- 饭制《黑神话》蜘蛛四妹手办
- 《燕云十六声》回应跑路:年内公测版本完成95%
- 网友发现国内版《双城之战》第二季有删减:亲亲环节没了!
- 邓丽君2024-《漫步人生路》头版限量编号MQA-UHQCD[WAV+CUE]
- SergeProkofievplaysProkofiev[Dutton][FLAC+CUE]
- 永恒英文金曲精选4《TheBestOfEverlastingFavouritesVol.4》[WAV+CUE]
- 群星《国风超有戏 第9期》[320K/MP3][13.63MB]
- 群星《国风超有戏 第9期》[FLAC/分轨][72.56MB]