微信聊天记录制作词云图
1 使用iTunes 备份iphone;
2在C:\Users\xxxx\AppData\Roaming\Apple Computer\MobileSync\Backup路径中找到备份文件夹
3打开备份文件夹找到其中的Manifest.db文件
这个文件是SQLite数据文件,用Navicat Premium创建一个SQLite,加载这个数据库文件就可以。
可以看到这个db文件是一个数据库,其中有2张表。
SELECT fileID FROM "Files" where relativePath like '%MM.sqlite';
使用这个语句获得文件ID,再通过这个id找到存储微信聊天记录的数据库文件。
有了这个数据库文件,我们可以直接通过python中的sqlite3模块对它进行操作。
import sqlite3
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
import os
import re
# 去掉停用词
def remove_stop_words(f):
stop_words = ['你好', '已添加', '现在', '可以', '开始', '聊天', '当前', '群聊', '人数', '过多', '显示', '群成员', '昵称', '信息页', '关闭', '参与人', '还有', '嗯'
,'一条','消息','撤回','我们','一个','什么','这个','答案','没有','还是','就是','自己','知道','哈哈','哈哈哈','不是','你们','怎么','但是','所以']
for stop_word in stop_words:
f = f.replace(stop_word, '')
return f
# 生成词云
def create_word_cloud(f):
# 设置本地的 simhei 字体文件位置
FONT_PATH = r'C:\Windows\Fonts\simhei.ttf'
f = remove_stop_words(f)
cut_text = " ".join(jieba.cut(f,cut_all=False, HMM=True))
wc = WordCloud(
font_path=FONT_PATH,
max_words=100,
width=2000,
height=1200,
)
wordcloud = wc.generate(cut_text)
# 写词云图片
wordcloud.to_file("wordcloud.jpg")
# 显示词云文件
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
def get_content_from_weixin():
# 创建数据库连接
conn = sqlite3.connect("weixin.db")
# 获取游标
cur = conn.cursor()
# 创建数据表
# 查询当前数据库中的所有数据表
sql = "SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE 'Chat%' "
cur.execute(sql)
tables = cur.fetchall()
content = ''
for table in tables:
sql = "SELECT Message FROM " + table[0]
cur.execute(sql)
temp_result = cur.fetchall()
for temp in temp_result:
content = content + str(temp)
# 提交事务
conn.commit()
# 关闭游标
cur.close()
# 关闭数据库连接
conn.close()
return content
content = get_content_from_weixin()
# 去掉 HTML 标签里的内容
pattern = re.compile(r'<[^>]+?>',re.S)
content = pattern.sub('', content)
# 将聊天记录生成词云
create_word_cloud(content)
微信聊天记录制作词云图相关推荐
- 【微信聊天记录制作词云】超详细保姆级教学!!!(详细步骤+代码)
简介 还在因各种情侣节日不知道送对方什么礼物而感到苦恼吗?不如试试这个超浪漫的微信聊天词云! 整体思路主要为: 1. 利用模拟器找到备份文件 2. 解密文件并导出文本文件 3. 代码制作词云 前期准备 ...
- 关键词分词工具_快图制作工具 | 如何制作词云图?
点击蓝字关注我们 如何制作词云图? 首先,我们需要对"词云"有个简单的概念. "词云"这个概念最先由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(R ...
- 数据可视化之利用Python制作词云图
制作词云图 一.词云图介绍 二.wordcloud方法 二. stylecloud方法 一.词云图介绍 词云图可以看作是文本数据的视觉表示,由词汇组成类似云的彩色图形.相对其它诸多用来显示数值数据的图 ...
- e分钟带你利用Python制作词云图
随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...
- Python制作词云图根据蒙板图像确定形状和文字颜色
问题描述:制作词云图,根据蒙板图像确定词云图形状,根据蒙板图像中像素的颜色确定词云图中相同位置上文字的颜色. 阅读原文
- python处理数据集并制作词云图
python处理数据集并制作词云图 处理数据 使用自定义词典 去掉停用词 词频统计 绘制词云图+美化 1.处理数据 这里是老师给的新闻数据集,里面有5个类别的新闻数据,我以cars这一类为例. 将cs ...
- 爬取指定网页并制作词云图
利用python中的库和函数设计一个爬取读书网中"软件与程序设计"栏的程序,并对其书名制作词云图,下载其书封面存储到本地文件中. 构建多个函数分别进行网页的请求,html的获取,所 ...
- 爬取B站弹幕制作词云图
大家好,我是天空之城,今天给大家带来,爬取B站弹幕制作词云图. 以下内容部分来自公众号数据分析与统计学之美,号主是大牛,有需要的加他. 首先打开一个b站视频https://www.bilibili.c ...
- wordcloud制作词云图
wordcloud制作词云图 wordcloud 中文方框问题 jieba(分词) jieba库分词的三种模式 wordcloud WordCloud(font_path=None, width=40 ...
最新文章
- android 成长日记 5.关于progress控件和Alertdialog和layout学习
- 玩转Mixly – 8、Arduino AVR编程 之 变量
- python 查看当前系统Python版本
- 【网址收藏】k8s PLEG介绍及不健康问题排查
- 聚类算法 距离矩阵_模糊聚类算法
- 苏宁大数据怎么运营_数据驱动经营 苏宁大数据用户标签入选2019TOP100全球软件案例...
- springboot编写自定义过滤器
- 华为正式发布鸿蒙智慧屏,5499 元、21999 元,2021 款华为智慧屏 V55/V85 明日 0 点正式开售:搭载鸿蒙系统...
- Nginx凭啥子并发数可以达到3w!
- oracle导入1542错误,Oracle 12c:ORA-28040 ORA-01017
- HDU2044 一只小蜜蜂...【递推】
- wireshark抓包教程详解
- 第十章-系统故障发生,哪些事务需要重做,哪些事务需要回滚
- (2020)Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation
- zookeeper--ClientCnxn
- VS中无法解析的外部命令的解决办法
- NAND FLASH MT29F4G08
- Hibernate基于主键一对一映射操作实例
- acdream1197 Points In Cuboid
- mysql解析json/数组