# wechat **Repository Path**: lulendi/wechat ## Basic Information - **Project Name**: wechat - **Description**: 微信数据库分析 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-24 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WeChat 目前微信的数据量是23个群,51W的群聊记录。主要是神经外科的相关 疾病,涉及到的医生与医院大多为北京天坛医院有关。 ## 1. 将sqlite数据库中的数据导入到mysql数据库; 主要有两个数据库(message, rcontact), 操作顺序: 1. 利用sqlcipher将两个表分别保存为csv表格,然后利用notepad++将表格转化为utf-8编码,不然会在程序执行时出现问题; 2. 按照数据库的结构,创建mysql的表格,message对应的是聊天记录,rcontact记录的是群里的用户ID及昵称; 3. 执行ConnectDatabase.py, 将数据导入到数据库,两个表格只需要修改文件名称即可; >TODO: 使用多线程保存数据,目前单线程效率较低,51w数据需要的时间较长。 ## 2. 将数据库的数据按照群号拆分; 1. 按照群号将数据库导出为txt的版本; 2. 使用多线程提升效率; ## 3. 完成之前统计性描述的部分; 1. 将聊天数据按照群号,划分不同的文件 √ 2. 统计每个群中发言次数最多的ID,发言长短,平均长度,统计用户发链接或图片的次数(也可以统计发图片链接的次数/总发言数), @次数,被@次数。√ > TODO: 统计每个群的活跃度,和所有群加起来的活跃度,在每天时间上的分布(得出的按照每分钟的效果并不好看,尝试每小时或每半小时!);暂时不考虑 ## 4. other 1. 使用结巴分词,并将@的list保存在数据库中;在Ubuntu中可以实现4线程并行分词; > TODO: > 1. 获取分词的词向量,在此之前要先确定停用词辞典; > 因为标点符号在都有自己的词向量,所以暂时不需要考虑消除停用词,此外,关于词向量降维,目前暂时不需要。 > 2. 主题词抽取,对话流分解;