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. 【微信聊天记录制作词云】超详细保姆级教学!!!(详细步骤+代码)

    简介 还在因各种情侣节日不知道送对方什么礼物而感到苦恼吗?不如试试这个超浪漫的微信聊天词云! 整体思路主要为: 1. 利用模拟器找到备份文件 2. 解密文件并导出文本文件 3. 代码制作词云 前期准备 ...

  2. 关键词分词工具_快图制作工具 | 如何制作词云图?

    点击蓝字关注我们 如何制作词云图?    首先,我们需要对"词云"有个简单的概念. "词云"这个概念最先由美国西北大学新闻学副教授.新媒体专业主任里奇·戈登(R ...

  3. 数据可视化之利用Python制作词云图

    制作词云图 一.词云图介绍 二.wordcloud方法 二. stylecloud方法 一.词云图介绍 词云图可以看作是文本数据的视觉表示,由词汇组成类似云的彩色图形.相对其它诸多用来显示数值数据的图 ...

  4. e分钟带你利用Python制作词云图

    随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...

  5. Python制作词云图根据蒙板图像确定形状和文字颜色

    问题描述:制作词云图,根据蒙板图像确定词云图形状,根据蒙板图像中像素的颜色确定词云图中相同位置上文字的颜色. 阅读原文

  6. python处理数据集并制作词云图

    python处理数据集并制作词云图 处理数据 使用自定义词典 去掉停用词 词频统计 绘制词云图+美化 1.处理数据 这里是老师给的新闻数据集,里面有5个类别的新闻数据,我以cars这一类为例. 将cs ...

  7. 爬取指定网页并制作词云图

    利用python中的库和函数设计一个爬取读书网中"软件与程序设计"栏的程序,并对其书名制作词云图,下载其书封面存储到本地文件中. 构建多个函数分别进行网页的请求,html的获取,所 ...

  8. 爬取B站弹幕制作词云图

    大家好,我是天空之城,今天给大家带来,爬取B站弹幕制作词云图. 以下内容部分来自公众号数据分析与统计学之美,号主是大牛,有需要的加他. 首先打开一个b站视频https://www.bilibili.c ...

  9. wordcloud制作词云图

    wordcloud制作词云图 wordcloud 中文方框问题 jieba(分词) jieba库分词的三种模式 wordcloud WordCloud(font_path=None, width=40 ...

最新文章

  1. android 成长日记 5.关于progress控件和Alertdialog和layout学习
  2. 玩转Mixly – 8、Arduino AVR编程 之 变量
  3. python 查看当前系统Python版本
  4. 【网址收藏】k8s PLEG介绍及不健康问题排查
  5. 聚类算法 距离矩阵_模糊聚类算法
  6. 苏宁大数据怎么运营_数据驱动经营 苏宁大数据用户标签入选2019TOP100全球软件案例...
  7. springboot编写自定义过滤器
  8. 华为正式发布鸿蒙智慧屏,5499 元、21999 元,2021 款华为智慧屏 V55/V85 明日 0 点正式开售:搭载鸿蒙系统...
  9. Nginx凭啥子并发数可以达到3w!
  10. oracle导入1542错误,Oracle 12c:ORA-28040 ORA-01017
  11. HDU2044 一只小蜜蜂...【递推】
  12. wireshark抓包教程详解
  13. 第十章-系统故障发生,哪些事务需要重做,哪些事务需要回滚
  14. (2020)Simple Copy-Paste is a Strong Data Augmentation Method for Instance Segmentation
  15. zookeeper--ClientCnxn
  16. VS中无法解析的外部命令的解决办法
  17. NAND FLASH MT29F4G08
  18. Hibernate基于主键一对一映射操作实例
  19. acdream1197 Points In Cuboid
  20. mysql解析json/数组

热门文章

  1. Rasa Core开发指南
  2. Airbnb如何培养对客户的同理心
  3. MFC函数简单解释(更新至28日凌晨)
  4. 【调剂】2020年西安理工大学计算机科学与工程学院硕士研究生调剂
  5. bilibili网页播放视频绿屏的解决办法
  6. Vue 全套教程(一),入门 Vue 必知必会
  7. win10系统重装不含gho文件的原版镜像-某白菜+某碟通
  8. 【MOOC】Python网络爬虫与信息提取-北京理工大学-part 3
  9. php调用 firebird,使用PHP从Firebird数据库显示Blob数据
  10. CNN也能用于NLP任务,一文简述文本分类任务的7个模型