将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

原文地址:https://www.cnblogs.com/freeyun/p/9502620.html

时间: 2024-07-31 02:46:58

将QQ聊天记录创建为词云的相关文章

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

QQ的聊天记录可以通过消息管理器,选中联系人,右键导出为 .txt 格式.由于是中文,需要分词,本文的分词工具采用的是 jieba 分词. 不知道这个“福”能不能扫出来. 假设你已经导出与某人的聊天记录,接下来需要先过滤再分词生成词云. 1. 过滤掉图片和表情,以及聊天记录的时间和qq名称 newtext = [] for word in open('lr.txt', 'r', encoding='utf-8'): tmp = word[0:4] if (tmp == "2019" o

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

一开始是想用qq空间说说做词云的,然而qq空间需要用cookies以及其他加密的东西,退而求其次搞搞新闻吧. 直接上代码了 # -*-coding:utf-8 -*- from selenium import webdriver import wordcloud #词云制作器 import jieba#强大的中文分词库 from scipy.misc import imread#读取图片 import time url='https://news.nuist.edu.cn/main.htm' n

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

前言 先看效果图:  思路 1.确认访问的URL 2.模拟登录你的QQ号 3.判断好友空间是否加了权限,切换到说说的frame,爬取当前页面数据,下拉滚动条,翻页继续获取 爬取的内容写入本地TXT文件中 4.爬取到最后一页,读取TXT文件从而生成词云 具体分析 1.确认访问的URL 这就很简单了,我们通过观察发现,QQ空间好友的URL: https://user.qzone.qq.com/{好友QQ号}/311 2.我们在请求的时候会遇到模拟登录,也就是要通过Selenium+浏览器登录你的QQ

爬取微信公众号内容——绘制词云

写在前面的话 前段时间写了一篇通过搜狗引擎获取微信公众号的文章,最近又看了一个网易云歌词绘制词云的程序 然后我就想,能否把这两者结合起来呢 还好经历几多波折终于把这个东西给弄出来了. 其实中间的实现不是很难, 关键是环境搭建实在是太困难了 好了,先把代码以及效果图奉献上吧 代码 weixin_spider.py #!/usr/bin/python # coding: utf-8 #这三行代码是防止在python2上面编码错误的,在python3上面不要要这样设置 import sys reloa

使用Python定制词云

一.实验介绍 1.1 实验内容 在互联网时代,人们获取信息的途径多种多样,大量的信息涌入到人们的视线中.如何从浩如烟海的信息中提炼出关键信息,滤除垃圾信息,一直是现代人关注的问题.在这个信息爆炸的时代,我们每时每刻都要更新自己的知识储备,而网络是最好的学习平台.对信息过滤和处理能力强,学习效率就会得到提高."词云"就是为此而诞生的."词云"是对网络文本中出现频率较高的"关键词"予以视觉上的突出,形成"关键词云层"或"

用python做些有意思的事——分析QQ聊天记录

是这样的,有位学姐呢初学python ,问我怎么处理QQ聊天记录,当时就说了用正则,也没去写,现在闲着(被ajax虐哭...先放一放)就来简单写一下. 目标,统计近一个月来,QQ群在一天24个时间段的发言量. Step1:获取QQ聊天记录 这个简单无脑了...直接导出消息记录即可.详情参考这里.导出时,记得要保存为txt格式,并和python文件放到同一文件夹下(只是为了方便). Step2:开始撸码 环境:python3+pycharm+xlsxwriter 上代码: import re im

[python] 词云:wordcloud包的安装、使用、原理(源码分析)、中文词云生成、代码重写

词云,又称文字云.标签云,是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现,形成关键词的渲染形成类似云一样的彩色图片,从而一眼就可以领略文本数据的主要表达意思.常见于博客.微博.文章分析等. 除了网上现成的Wordle.Tagxedo.Tagul.Tagcrowd等词云制作工具,在python中也可以用wordcloud包比较轻松地实现(官网.github项目): from wordcloud import WordCloud import matplotlib.pyplot as pl

python 生成18年写过的博客词云

文章链接:https://mp.weixin.qq.com/s/NmJjTEADV6zKdT--2DXq9Q 回看18年,最有成就的就是有了自己的 博客网站,坚持记录,写文章,累计写了36篇了,从一开始的难以下手,到现在成为一种习惯,虽然每次写都会一字一句斟酌,但是每次看到产出,内心还是开心的,享受这样的过程. 这篇文章就是用python 生成自己写的博客词云,平常写的博客都是markdown 格式的,直接把文件传到后台,前端用js去解析文件显示的,所以我这里处理数据就不需要去爬虫网站,直接读文

如何用Python做词云(收藏)

看过之后你有什么感觉?想不想自己做一张出来? 如果你的答案是肯定的,我们就不要拖延了,今天就来一步步从零开始做个词云分析图.当然,做为基础的词云图,肯定比不上刚才那两张信息图酷炫.不过不要紧,好的开始是成功的一半嘛.食髓知味,后面你就可以自己升级技能,进入你开挂的成功之路. 网上教你做信息图的教程很多.许多都是利用了专用工具.这些工具好是好,便捷而强大.只是它们功能都太过专一,适用范围有限.今天我们要尝试的,是用通用的编程语言Python来做词云. Python是一种时下很流行的编程语言.你不仅