导出微信聊天记录,使用python进行分词,生成词云

  • 导出微信聊天记录,使用python进行分词,生成词云
    • 备份数据
    • 浏览、导出数据
    • 查看数据
    • 操作数据库,分析生成词云
    • 下载全部文件

导出微信聊天记录,使用python进行分词,生成词云

微信版本:8.0.31 操作时间:2022.12.31
手机:iphone
使用软件:iTunes,iBackup Viewer、SQLite Expert Professional 5 - 64bit、python(re,jieba,wordcloud,sqlite3,opencv-python)

备份数据

通过iTunes,将手机数据备份到本地,备份时不要对数据进行加密。此过程根据手机上的数据量,执行时间较长。

浏览、导出数据

下载、安装iPhone Backup Viewer,下载网址:iPhone Backup Viewe
安装完成后,打开iPhone Backup Viewe,界面如下:

下一步:

点击右上角数型图标

在左侧文件栏找到AppDomain-com.tencent.xin"的文件夹并展开–>展开"Document"子文件夹,可以看到子文件夹里有个由32位数字+字母(经过MD5加密过的32位字符串)命名的文件夹,这个文件夹就是在我们的手机微信上存储的用户的数据文件,展开文件夹

找到DB子文件夹打开,可以看到右侧有很多个"message_X.sqlite"文件,这个就是聊天记录文件。选择右上角的"Export"–>"Selected"即可导出到自己想要的位置。

查看数据

下载sqliteexpert
下载地址
打开数据库

表中,所有以"Chat_"开头的表就是单人聊天记录或群聊或公众号的聊天记录。

操作数据库,分析生成词云

python版本

python库包括:
re,jieba,wordcloud,sqlite3,opencv-python

完整代码:

import re
import jieba
import wordcloud
import sqlite3
import cv2if __name__ == '__main__':# connect databaseconn = sqlite3.connect("C:/Users/lidy/Desktop/message_4.sqlite")c = conn.cursor()# data = c.execute("select name from sqlite_master where type='table' order by name")# tabelname = "Chat_614b0f556ffe38704b6d4f0fc56df968"# search = c.execute("select Message from Chat_54936638f4055d1cb530968188ec3754 where CreateTime > '1640966400'").fetchall()search = c.execute("select Message from Chat_0c704438265400a21a7bb7c6e2350721 where CreateTime > '1640966400'").fetchall()# for each message: cut into wordswordList = []for each in search:find = re.findall(r'[\u4e00-\u9fa5]+', each[0])for sentence in find:cutResult = jieba.cut(sentence, cut_all=False, HMM=True)for word in cutResult:wordList.append(word)# set Stopword listexcludes = ['test']# get list of needed wordsresult = []for word in wordList:if len(word) == 1:continueelif word in excludes:continueelse:result.append(word)result = ' '.join(result)# generate wordcloudmask_jpg = cv2.imread("C:/Users/lidy/Desktop/test.jpg")w = wordcloud.WordCloud(mask=mask_jpg, font_path='C:/Windows/Fonts/方正粗黑宋简体.ttf',width=600, height=525, max_words=400, collocations=False,max_font_size=110, background_color='black')w.generate(result)# set color2.jpg's colormap as the cloud's colormapcolor_jpg = cv2.imread("C:/Users/lidy/Desktop/test1.jpg")img_color = wordcloud.ImageColorGenerator(color_jpg)w.recolor(color_func=img_color)# write to filew.to_file('images/result.png')


下载全部文件

添加链接描述

参考:添加链接描述

导出微信聊天记录,使用python进行分词,生成词云相关推荐

  1. python词频统计 生成词云

    博客简介 本篇博客介绍2个第三方库,中文分词库jieba和词云库WordCloud,我们将完成三个例子: 统计英文词汇频率 统计中文文本词汇频率使用jieba库 生成词云 在正式开始之前,我们先安装两 ...

  2. 在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!

    声明:本文转载huaairen作者一文<制作词云库图片>,如有侵权,请联系删除. 前言 某天心血来潮,想搞搞词云这玩意,网上很多在线生成词云的网站,但是加载都比较慢,或者有水印,再或者是无 ...

  3. python中wordcloud生成词云_python使用WordCloud生成词云

    前言 当我们想快速了解 书籍.小说.电影剧本中的内容是时,则可以采用绘制 WordCloud 词云图,显示主要的关键词,可以非常直观的看到结果 核心代码 from wordcloud import W ...

  4. 钱钟书《围城》 使用 Python wordcloud jieba 生成词云分析图

    文章目录 Intro Requirements 分析结果(4张图) 代码 Intro 这几天看了钱钟书老先生的<围城>,读过之后有种感觉:如果对全文分词,按照出现频率从高到低应该是: 小姐 ...

  5. Python 通过文本生成词云

    首先安装以下库 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba pip install -i https://pypi.tu ...

  6. 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来! 需要Python软件工具和学习资料的小伙伴可以点击下方链接自行获取 http://no ...

  7. 【趣味案例】谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图

    说到词云应该不陌生,不知道的童靴往下看 词云,就是把网络文本中出现频率较高的 "关键词"予以视觉上的突出 浏览者只要一眼扫过文本就可以领略其主旨 瞧 这是不是一个有声音.有画面的小 ...

  8. 绿皮书——iOS导出微信聊天记录,并用python制作词云

    The Green-Book--iOS微信聊天词云 引言 目录 1.提取微信聊天记录 1.1 iTunes备份 1.2 解密备份文件 1.3 找到指定好友 1.4 导出为xlsx 2.python读取 ...

  9. 手机不用root,一台电脑教你导出微信聊天记录

    目录 导语 工具 原理 步骤 步骤截图 首先登录电脑微信,备份聊天记录到电脑上 电脑下载安卓模拟器(鄙人用的是夜神) 安卓模拟器下载并安装微信 模拟器登录微信 获取微信的uin号 获取手机IMEI码 ...

最新文章

  1. PMCAFF原创作者人气榜,快来看看你排第几?
  2. emwin之在中断服务程序中创建窗口的结果
  3. 一文简单弄懂tensorflow_在tensorflow中设置梯度衰减
  4. 塔拉 孤岛危机2_《孤岛危机》新作爆料!类似于《绝地求生》的多人游戏
  5. Jco服务配置以及程序编写
  6. IOS多选单选相册图片
  7. BIM工程信息管理系统-详细设计
  8. notepad怎么设置python为环境变量_在Notepad++里配置python环境
  9. 常用Git命令和配置
  10. 关于VBA中【按钮的改名】 和 【函数名字的改变】
  11. [转]企业网站首页设计常见的6种布局方式
  12. dllregisterserver找不到入口点_厨房间漏水找不到漏水点,厨房上面漏水 | 影楼
  13. 意境级讲解二分查找算法、python
  14. 【转载】在MySQL登录时出现Access denied for user 'root'@'localhost' (using password: YES) 拒绝访问,并可修改MySQL密码...
  15. 利用python3将word批量转换成pdf
  16. mandriva csdn_与Google的双重开源Mandriva告别,还有更多新闻
  17. 荷尔蒙飘香的套套市场,谁才是王者?
  18. ***卖火柴的lly***
  19. 手机照片丢失怎么才能恢复
  20. C++ 字符串和数字拼接

热门文章

  1. OpenResty实现限流的几种方式
  2. 计算机考研数学复试时间,数学专业考研准备多久
  3. 推荐一个好用的OKR工具
  4. 关于form与表单提交
  5. 软考中级怎么选?如何备考?
  6. 【通信协议】1-Wire 单总线
  7. 【⏰亲】今天冬至,早些回家!
  8. 打开浏览器,显示的首页是2345浏览器
  9. tf.nn.xw_plus_b()
  10. springDataJpa @Query注解多条件动态模糊分页查询,传入形参对象