之前看同学在群里发各人的消息云图,然后很好奇就问了下怎么实现的自己也写了一遍 2333

import re

import jieba

import matplotlib.pyplot as plt

from wordcloud import WordCloud

from scipy.misc import imread

这里是使用的包,用了 jieba 分词和 wordcloud 云图,matplotlib 用来绘图,imread 用来读取生成的云图样式

def seg_sentence(filename):

message_regex = "(201\d-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2}) (.*)\n(.*)(?=\n\n)"

message_complile = re.compile(message_regex)

with open(filename, encoding='utf-8') as f:

message_data = message_complile.findall(f.read())

words = ''

for rows in message_data:

if (rows[2] == str):

seg_list = jieba.cut(rows[3], cut_all=False)

seg_list = ' '.join(seg_list)

if len(seg_list) > 1:

if seg_list != '\t':

words += seg_list

words += ' '

return words

这里使用正则表达式用来匹配 QQ 群导出的 txt 格式消息记录,然后调用 jieba 分词对个人消息进行划分,因为文本格式的消息记录 发的表情和图片都会变成 "[表情]"、"[图片]",一开始我是准备直接用 if 干掉的,后来把这两条添加到了 stopwords 里

def draw_wordcloud(filename):

words = seg_sentence(filename)

font = 'C:\Windows\Fonts\simhei.ttf'

color_mask = imread('test.jpg')

cloud = WordCloud(font_path=font,

background_color='white',

mask=color_mask,

max_words=400,

prefer_horizontal=0.9,

stopwords=stopwordslist('stopwords.txt'),

# stopwords=None,

max_font_size=200)

word_cloud = cloud.generate(words)

# word_cloud.to_file("cloud.png")

return word_cloud

绘图的一些格式,这里的 test.jpg 就是我用电脑绘图画了一个云图,用以生成自己想要的云图格式,因为本地绘图产生的图片像素比较低,后来用 ps 把像素提高到 300dpi,这样生成的图片清晰度也高了很多

stopwords 用的本地 stopwords,随便下一个就好

def stopwordslist(filepath):

stopwords = [line.strip() for line in open(filepath, 'r', encoding='utf-8').readlines()]

return stopwords

最后就是读取导出的 txt 格式消息记录然后 plt 绘图即可

plt.imshow(word_cloud)

plt.title(u'name', fontproperties='SimHei', fontsize='large')

plt.axis("off")

plt.show()

python分析qq聊天时间_用 Python 对 QQ 群消息分析生成词云图相关推荐

  1. python精通多长时间_学Python需要多久能学会?精通Python需要多长时间?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 严格意思上的说,Python其实是一个脚本语言,编程语言多种多样,但是却有开源和闭源之分,Python就是一种开放核心源代码编程语言,其开发代码的效率非常 ...

  2. python提取微信聊天语音_利用Python进行微信,QQ的语音识别!内部技术的延伸版!...

    现在的最火两款聊天工具,QQ和微信,但是很多的时候不方便听别人发的语音,这时候这个功能就能派上用场了,当然了,不止能识别QQ语音还有一些没有字幕的电影也能识别出来,好了废话不多说,马上切入咱们的主题! ...

  3. python 折线图x时间_在Python Bokeh折线图中设置日期/时间轴上的比例

    好的,我做了一些测试,bokeh似乎很好地根据需要自动调整刻度.请看下面我的测试结果:# Test case 1: # Multiple years, one measure per year d1 ...

  4. 大数据时代从繁乱冗杂中精准提取核心文本信息 × Python Tkinter 生成词云图

    背景 人类在数字化浪潮中面临着怎样的抉择?如何把握数字时代的机遇和挑战?科技日新月异,人类生活日益便捷,你是愕然还是亢奋?机器人越来越人性化,你是恐惧焦虑还是心生欢喜?人类是否可以始终制霸选择权中的& ...

  5. python爬虫学习:爬虫QQ说说并生成词云图,回忆满满

    自学过一段时间的python,用django自己做了个 网站,也用requests+BeautifulSoup爬虫过些简单的网站,周末研究学习了一波,准备爬取QQ空间的说说,并把内容存在txt中,读取 ...

  6. 利用Python分析文章词频,并生成词云图

    利用Python分析文章词频,并生成词云图 使用request模块获取文章数据 import jieba import requests import csv from bs4 import Beau ...

  7. python爬虫可视化web展示_基于Python爬虫的职位信息数据分析和可视化系统实现

    1. 引言 在这个新时代,人们根据现有的职位信息数据分析系统得到的职位信息越来越碎片化,面对收集到的大量的职位信息数据难以迅速地筛选出对自己最有帮助的职位信息,又或者筛选出信息后不能直观地看到数据的特 ...

  8. python 操作微信闪电贷款_用Python表演马老师的闪电五连鞭!

    11月份的头条,是属于马保国的. 一位69岁的老同志,惨遭年轻人偷袭,不讲武德. 看看把老同志欺负的... 要不是马老师讲仁义讲道德,甩手就是一个五连鞭. 哈哈哈,所以本期我们就用Python给马保国 ...

  9. Python中文分析:《射雕英雄传》统计人物出场次数、生成词云图片文件、根据人物关系做社交关系网络和其他文本分析

    前言 python中文分析作业,将对<射雕英雄传>进行中文分析,统计人物出场次数.生成词云图片文件.根据人物关系做社交关系网络和其他文本分析等. 对应内容 1.中文分词,统计人物出场次数, ...

  10. python爬取微博评论_用 python 爬取微博评论并手动分词制作词云

    最近上海好像有举行个什么维吾尔族的秘密时装秀,很好看的样子,不过我还没时间看.但是微博上已经吵翻了天,原因是 好吧,这不是我们关心的,我的心里只有学习 我爱学习 Python 爬虫 本次爬取的是这条微 ...

最新文章

  1. mysql5.7数据库快照_lvm快照备份数据库(Mysql5.7)
  2. bugku ctf 杂项 啊哒 writeup || foremost的安装
  3. 2021-02-23 Matlab数据导入--importdata和load函数
  4. JavaScript 调试
  5. java ftp 中文上传_java实现ftp文件上传下载,解决慢,中文乱码,多个文件下载等问题...
  6. 图解算法之排序算法(1)——冒泡排序
  7. GroupBy()方法
  8. 图像语义分析--深度学习方法
  9. avue 文字点击 弹窗_目前最好用的文字转语音、视频配音方法,一键合成,智能黑科技...
  10. 极光笔记|极光推送在APICloud平台的使用教程
  11. LaTeX实战经验:如何插入程序代码
  12. VUE调用打印机打印页面
  13. 淘宝爬取商品信息以及数据分析
  14. 极化的概念及天线极化方式
  15. 卡贴机被“全面封杀”?苹果关闭有锁iPhone的ICCID激活服务
  16. 【Android 无法修改App名字】
  17. html图片标签img的介绍以及基本用法详解
  18. leetcode--石子游戏
  19. 怎么把qlv格式转换成mp4?快速转换qlv格式的方法
  20. IOS中截屏的实现,很简易的方法

热门文章

  1. 微信小程序网络请求报错:request:fail url not in domain list
  2. 去除maven父依赖_关于maven 子父项目依赖的问题?maven大神来看下
  3. 单片机软件常用设计分享(四)驱动设计之串口驱动设计
  4. 物理层网络编码matlab,基于喷泉码和物理层网络编码的通信方法
  5. 复利效应 每天进步一点点到底指的是什么?
  6. 百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(一)
  7. 【唐胡子俱乐部活动回顾】社群运营心得和资源共享交流会
  8. 记熟这些就不用鼠标了!
  9. rk3588根文件系统制作和导出镜像img
  10. 软件测试【面试题】:移动端APP测试