美文网首页
微信聊天记录生成词云(一)

微信聊天记录生成词云(一)

作者: matrix2 | 来源:发表于2018-01-03 23:00 被阅读0次

一、数据库的导出

  • 拷贝出微信数据库文件
    如果安卓手机已root,可使用Root Explorer把微信数据库文件拷贝出来。
    具体文件路径为data/data/com.tecent.mm/MicroMsg/.../EnMicroMsg.db(可在MicroMsg文件下直接搜索EnMicroMsg.db找到)。将EnMicroMsg.db文件拷贝到电脑。
    [站外图片上传中...(image-4c6c1b-1514991490986)]

  • 找寻key打开数据库
    数据库拷贝到电脑后是加密的,需要提供key来打开数据库。
    key=IMEI(手机序列号)+UIN(用户信息号)(个人认为微信的数据库加密还是做的不错)

  1. IMEI的找寻,在手机拨号界面输入*#06#即可找到IMEI。
    [站外图片上传中...(image-95cc57-1514991490986)]
  2. UIN的找寻,可使用Root Explorer从data/data/com.tecent.mm/shared_prefs/system_config_prefs.xml中将system_config_prefs.xml文件拷贝到电脑。
    [站外图片上传中...(image-b0862c-1514991490986)]
    在电脑端用notepad++等软件打开拷贝的system_config_prefs.xml文件,
    在default_uin一行的value值即为所需的UIN
  3. 找到了IMEI和UIN就可以计算出其md5值了。在MD5计算器中输入IMEI+UIN后,计算出md5值选取前七位即可作为key。
    md5计算
  • 打开数据库
    用专用软件,输入key打开数据库。

    输入key,打开前面拷贝的db数据库

输入如下查询语句,可以查到与所要查找的人的聊天记录。

select datetime(subStr(cast(m.createTime as text),1,10),'unixepoch',           'localtime') as theTime,
case m.isSend 
when 0 then r.nickname 
when 1 then '我'end as person,m.content 
from message 
m inner join rcontact r on m.talker = r.username 
where m.type=1 and r.nickname = '对方微信昵称' 

导出聊天记录,将聊天记录message信息导出为CSV。



导出message

至此,数据库已导出,后续内容为数据清洗与可视化。


相关文章

网友评论

      本文标题:微信聊天记录生成词云(一)

      本文链接:https://www.haomeiwen.com/subject/wzyknxtx.html