Python使用微信聊天记录生成词云

本文使用工具:
1、微信电脑版
2、模拟器(本文使用夜神模拟器)
3、https://md5jiami.bmcx.com/ MD5加密工具
4、Sqlcipher.exe
5、Excel
6、Pycharm

本文目录

  • Python使用微信聊天记录生成词云
  • 一、导出微信聊天记录
  • 二、获取数据库密码
  • 三、编译sqlcipher.exe
  • 四、导出csv文件
  • 五、简单处理csv文件
  • 六、使用pycharm生成词云

一、导出微信聊天记录

  • 1、官网下载模拟器、安装
  • 2、模拟器安装微信,在模拟器中登录微信,将想要的聊天记录备份到模拟器中。此步骤极为简单,这里不赘述。
  • 3、在模拟器中找到备份聊天记录的数据库所在位置,通过文件助手备份至电脑文件夹。
  • /data/data/com.tencent.mm/MicroMsg/2bf2a2d7d94578b3n2d9v(文件中较长名称的文件夹)/EnMicroMsg.db

    在文件助手中将EnMicroMsg.db保存至共享文件夹(Pictures)下,在电脑文件夹中可以查看到EnMicroMsg.db文件。

二、获取数据库密码

微信聊天记录数据库密码是由手机IMIE+UIN组成的,为了绕开root,所以我们使用模拟器root获取IMEI,在模拟器中需要找1、IMEI以及2、UIN。

  • 1、在模拟器系统设置中,手机菜单下,找IMEI,保存下来。
  • 2、在Amaze中/data/data/com.tencent.mm/shared_prefs下找com.tencent.mm_preferences.xml。
  • 3、打开文件后,<string name ="last_login_uin">734432902</string>,734432902即为uin,将其保存下来。
  • 4、到此,我们获取了IMEI和UIN,将IMEI+UIN拼接在一起,即为:351564288183262+734432902=351564288183262734432902。
  • 5、将351564288183262734432902复制到https://md5jiami.bmcx.com/ MD5加密网站上解析,其中32位小写前七位即为微信聊天记录数据库密码:737ecee
  • 6、到这里,我们就获取到数据库密码了。当然这里有个坑,大家会发现IMEI无论怎么找,加密出来的密码都不对。可以尝试一下1234567890ABCDEF代替一下IMEI。会有惊喜哦。

三、编译sqlcipher.exe

  • 现在网络这么强大,没必要自己编译了,而且编译出现的问题很多,不建议新手自己去编译,特别不友好。可以自己去搜索下载,网上很多的。也可以点赞之后留言一下,找我要哦。
    这里在Sqlcipher.exe中打开微信聊天记录数据库后输入,我们得到的数据库密码后,导出csv文件。

四、导出csv文件

  • 导出csv文件,记得选择message,这个才是聊天内容。

五、简单处理csv文件

  • 在csv文件中,content列为聊天内容,可以自己筛选去除没有用的数据,留下有用的数据。然后将该列数据复制到txt文件中,方便后续使用python生成词云。

六、使用pycharm生成词云

  • 1、下载pycharm,创建一个项目。
  • 2、这里需要导入包:
  • import jieba
  • import numpy
  • import codecs
  • import pandas
  • from matplotlib.image import imread
  • import matplotlib.pyplot as plt
  • from wordcloud import WordCloud,ImageColorGenerator
    可以在Python Interpreter中加入以上包。

    也可以在底下Terminal中 pip install 以上包…

    以下放出完整python代码:
import jieba
import numpy
import codecs
import pandas
from matplotlib.image import imread
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGeneratordef load_file_segment():# 加载自己定义的词典单词jieba.load_userdict("mywords.txt")# 打开我们处理好的聊天文件f = codecs.open(u"123.txt", 'r', encoding='utf-8')# 读取聊天文件到content中content = f.read()# 关闭文件f.close()# 保存分词结果segment = []# 对整体进行分词segs = jieba.cut(content)for seg in segs:if len(seg) > 1 and seg != '\r\n':# 这里进行判断分词得到的结果不是单个字,并且不是换行符,就将分词加到数组中segment.append(seg)return segment
def get_words_count_dict():# 获得以上分词结果segment = load_file_segment()# 将分词数组转化为pandasdf = pandas.DataFrame({'segment': segment})# 这里设置不想要的分词,将不想要的分词写入文件中,可以将设置好的分词剔除出去。stopwords = pandas.read_csv("stopwords.txt", index_col=False, quoting=3, sep="\t", names=['stopword'],encoding="utf-8")# 如果不在停用词中df = df[~df.segment.isin(stopwords.stopword)]# 按词分组,计算每个词的个数words_count = df.groupby(by=['segment'])['segment'].agg([("计数", numpy.size)])# reset_index保留segment字段,排序,数字大的在前面words_count = words_count.reset_index().sort_values(by="计数", ascending=False)return words_countwords_count = get_words_count_dict()
# 读取想要生成词云模板图片
bimg = imread('ai2.jpg')
wordcloud = WordCloud(background_color='white', mask=bimg, font_path='simhei.ttf')
words = words_count.set_index("segment").to_dict()
wordcloud = wordcloud.fit_words(words["计数"])
bimgColors = ImageColorGenerator(bimg)
plt.axis("off")
plt.imshow(wordcloud.recolor(color_func=bimgColors))
plt.show()
  • 效果,点个赞吧,谢谢!

手把手教Python使用微信聊天记录生成词云相关推荐

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

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

  2. 微信聊天记录的词云制作

    微信聊天记录的词云制作 需求 导出微信聊天记录 提取文字聊天记录 生成词云 需求 想把跟朋友的微信聊天记录做个词云 导出微信聊天记录 我的手机是iphone,用旧版的itunes备份手机全部信息 it ...

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

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

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

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

  5. Python 任意中文文本生成词云 最终版本

    前叙 利用下面的代码你将可以将任意中文文本生成词云,其分词部分由jieba,NLPIR2016两个部分组成,生成词语由worldcloud负责,默认会自动发现文本中的20个新词并添加到词库中,当然你也 ...

  6. python爬取数据生成词云_Python 爬取生成中文词云以爬取知乎用户属性为例

    代码如下: # -*- coding:utf-8 -*- import requests import pandas as pd import time import matplotlib.pyplo ...

  7. 手把手教你在线制作炫酷词云-----制作词云头像|微词云的使用

    先上效果图 具体生成方法 1.进入网站微词云 2.点击右上角对"创建词云"按钮 3.点击左侧的内容,然后点击上面的导入 输入你想要展示的词语,并点击生成 4.选择一个头像模版,你可 ...

  8. 情人节礼物------用她的照片和我们的聊天记录生成词云~

    用到的知识点 python读写文件 python正则表达式过滤无用信息 jieba分词与自定义字典 停用词筛选.统计词频 调用wordcloud绘制词云 第一步 从电脑版蛐蛐导出聊天记录.(手机一般不 ...

  9. 在Python中自然语言处理生成词云WordCloud

    了解如何在Python中使用WordCloud对自然语言处理执行探索性数据分析. 最近我们被客户要求撰写关于自然语言处理的研究报告,包括一些图形和统计输出. 什么是WordCloud? 很多时候,您可 ...

  10. 【微信聊天记录制作词云】超详细保姆级教学!!!(详细步骤+代码)

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

最新文章

  1. 机器学习笔记:logistic regression
  2. Mina框架项目运用
  3. 行业大佬集体唱衰教育O2O,强管控的B2C模式将是唯一出路
  4. 2 python包、模块相关
  5. 编译并运行Java文件
  6. 如何使用Wondershare PDFelement制作PDF文件
  7. 马云:我不懂技术,但我尊重技术(附演讲全文
  8. 微信公号“架构师之路”学习笔记(三)-MQ消息可达性_幂等性_延时性架构设计(应用场景、可靠投递、流量冲击)
  9. 搜狐畅游一面(c++)
  10. Mac:彻底卸载MySQL
  11. Lobooi个人作业:阅读与准备作业
  12. PyTorch-1.10(十三)--torch.optim基本用法
  13. 根据IP地址求网络号、子网号和主机号
  14. el-form组件提示英文问题,改成中文
  15. WORD中表格的跨页显示
  16. div+css(一)
  17. 区块链技术--Ethereum(以太坊)
  18. 如何做一个好的BI总监
  19. 大学数学学习参考书点评之数学分析部分(转)
  20. 存储技术现在的困境以及未来的发展

热门文章

  1. Issure: LookupError: unknown encoding: cp65001
  2. MCS9865串口卡并口卡驱动
  3. 大数据收集系统架构图
  4. mysql自动全量更新表_MySQL数据库自动全量备份脚本
  5. arXiv 注册完整过程(图文详解)
  6. 经典算法详解(2):费氏数列
  7. layui 省市区 三级联动 单选
  8. MySQL 表空间碎片
  9. Excel冻结首行/首列
  10. 高斯消去法(Gauss)的python实现