数据分析|你和女朋友的聊天记录
1.提取朋友聊天记录备份到电脑
2.将电脑的聊天记录备份到模拟器。
首先,下载夜神模拟器
在夜神模拟器下载微信
使用windows客户端版的微信进行备份,如图
3.打开夜神模拟器的root权限
4.用模拟器的浏览器搜索RE文件管理器,下载安装后打开,会弹出对话框让你给予root权限,选择永久给予,打开RE文件管理器,进入文件夹, 这是应用存放数据的地方。 /data/data/com.tencent.mm/MicroMsg
!
5.将这个文件复制到相应位置。共享文件夹的位置为 /mnt/shell/emulated/0/others ,现在访问windows的 C:\Users\你的用户名\Nox_share\OtherShare 获取该数据库文件( EnMicroMsg.db )
导出该数据库后,使用一款叫 sqlcipher 的软件读取数据(链接: https://pan.baidu.com/s/1Im3n02yseo-4IxeDY9srqQ 提取码: ka4z)
密码的公式如下
字符串 " IMEI (手机序列号) UIN(用户信息号)"
将该字符串进行MD5计算后的前七位便是该数据库的密码,如 “863064456594714 720113701” 实际上中间没有空格,然后放入MD5计算取前面七位数字,后续会详细介绍。
哇,真是“简单易懂”啊,没关系,接下来告诉大家IMEI和UIN怎么获得。
首先是IMEI,在模拟器右上角的系统设置 —— 属性设置里就可以找得到啦,如图所示。
现在我们获得了IMEI号,那UIN号呢?
同样地,用RE文件管理器打开这个文件
/data/data/com.tencent.mm/shared_prefs/system_config_prefs.xml
打开方式—文本浏览器,找到default_uin,后面的数字就是了 !
得到这两串数字后,就可以开始计算密码啦,如果我的IMEI是863064456594714 ,Uin是720113701,那么合起来就是863064456594714720113701 ,将这串数字放入免费MD5在线计算
得到这两串数字后,就可以开始计算密码啦,如果我的IMEI是355757010762041,Uin是857749862,那么合起来就是355757010762041857749862,将这串数字放入免费MD5在线计算
得到的数字的前七位就是我们的密码了,像这一串就是 6782538.
如果uin是负的话,可以试试uin拼接手机IMEI码(直接连在一起算MD5),取MD5的32位小写密文前7个字符。再不行就重装模拟器。
然后我们就可以进入我们的核心环节:使用 sqlcipher 导出聊天文本数据!
我们可以将它导出成csv文件:File - export - table as csv.
接下来,上代码!!!
使用Python分析数据
聊天记录包含了非常丰富的数据,这里我只做了两个比较简单的例子,一个是针对时间做聊天时间段分布的统计;一个是针对内容做字符匹配,统计一些高频词汇出现的次数
读取数据
使用pandas读取csv文件里的数据,我们需要的数据在6、7、8三列:
聊天时间分布图
import pandas as pd
import time
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.font_manager import *#如果想在图上显示中文&