手把手教Python使用微信聊天记录生成词云
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使用微信聊天记录生成词云相关推荐
- 导出微信聊天记录,使用python进行分词,生成词云
导出微信聊天记录,使用python进行分词,生成词云 导出微信聊天记录,使用python进行分词,生成词云 备份数据 浏览.导出数据 查看数据 操作数据库,分析生成词云 下载全部文件 导出微信聊天记录 ...
- 微信聊天记录的词云制作
微信聊天记录的词云制作 需求 导出微信聊天记录 提取文字聊天记录 生成词云 需求 想把跟朋友的微信聊天记录做个词云 导出微信聊天记录 我的手机是iphone,用旧版的itunes备份手机全部信息 it ...
- 谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图
明天又双叒叕是一年一度的七夕恋爱节了! 又是一波绝好的机会!恩爱秀起来! 购物车清空!礼物送起来!朋友圈晒起来! 需要Python软件工具和学习资料的小伙伴可以点击下方链接自行获取 http://no ...
- 【趣味案例】谁说程序员不浪漫?Python导出微信聊天记录生成爱的词云图
说到词云应该不陌生,不知道的童靴往下看 词云,就是把网络文本中出现频率较高的 "关键词"予以视觉上的突出 浏览者只要一眼扫过文本就可以领略其主旨 瞧 这是不是一个有声音.有画面的小 ...
- Python 任意中文文本生成词云 最终版本
前叙 利用下面的代码你将可以将任意中文文本生成词云,其分词部分由jieba,NLPIR2016两个部分组成,生成词语由worldcloud负责,默认会自动发现文本中的20个新词并添加到词库中,当然你也 ...
- python爬取数据生成词云_Python 爬取生成中文词云以爬取知乎用户属性为例
代码如下: # -*- coding:utf-8 -*- import requests import pandas as pd import time import matplotlib.pyplo ...
- 手把手教你在线制作炫酷词云-----制作词云头像|微词云的使用
先上效果图 具体生成方法 1.进入网站微词云 2.点击右上角对"创建词云"按钮 3.点击左侧的内容,然后点击上面的导入 输入你想要展示的词语,并点击生成 4.选择一个头像模版,你可 ...
- 情人节礼物------用她的照片和我们的聊天记录生成词云~
用到的知识点 python读写文件 python正则表达式过滤无用信息 jieba分词与自定义字典 停用词筛选.统计词频 调用wordcloud绘制词云 第一步 从电脑版蛐蛐导出聊天记录.(手机一般不 ...
- 在Python中自然语言处理生成词云WordCloud
了解如何在Python中使用WordCloud对自然语言处理执行探索性数据分析. 最近我们被客户要求撰写关于自然语言处理的研究报告,包括一些图形和统计输出. 什么是WordCloud? 很多时候,您可 ...
- 【微信聊天记录制作词云】超详细保姆级教学!!!(详细步骤+代码)
简介 还在因各种情侣节日不知道送对方什么礼物而感到苦恼吗?不如试试这个超浪漫的微信聊天词云! 整体思路主要为: 1. 利用模拟器找到备份文件 2. 解密文件并导出文本文件 3. 代码制作词云 前期准备 ...
最新文章
- 机器学习笔记:logistic regression
- Mina框架项目运用
- 行业大佬集体唱衰教育O2O,强管控的B2C模式将是唯一出路
- 2 python包、模块相关
- 编译并运行Java文件
- 如何使用Wondershare PDFelement制作PDF文件
- 马云:我不懂技术,但我尊重技术(附演讲全文
- 微信公号“架构师之路”学习笔记(三)-MQ消息可达性_幂等性_延时性架构设计(应用场景、可靠投递、流量冲击)
- 搜狐畅游一面(c++)
- Mac:彻底卸载MySQL
- Lobooi个人作业:阅读与准备作业
- PyTorch-1.10(十三)--torch.optim基本用法
- 根据IP地址求网络号、子网号和主机号
- el-form组件提示英文问题,改成中文
- WORD中表格的跨页显示
- div+css(一)
- 区块链技术--Ethereum(以太坊)
- 如何做一个好的BI总监
- 大学数学学习参考书点评之数学分析部分(转)
- 存储技术现在的困境以及未来的发展