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

一、数据库的导出

  • 拷贝出微信数据库文件
    如果安卓手机已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

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,735评论 0 17
  • 对于微信的使用,这几年来越来越普遍,大众。甚至在简历的里面,有时为了方便交流,也会留下微信的联系方式。但是对于微信...
    Torival阅读 5,518评论 3 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • 亲爱的朋友们: 今天很特别,是新一周的开始,也是7月的最后一天。 宜回顾总结、展望计划。 没有时间吗?嗯,我同意!...
  • 郴州,粤港后花园,以自然山水风光闻名。在郴州西去往饭店的大巴上,导游如是说。嗯哼,这是一次大巴团建游。整个...
    Pilgrimagie阅读 691评论 0 1