QQ聊天记录多角度分析Python实现

简介

有时候我们想看看自己跟另一个人的时长、频率、时间等或者是聊天过程中谁更在乎谁多一点,谁是话痨,聊天性格怎么样,这时就需要一个聊天记录分析的程序。

下面的Python代码能够统计聊天记录中的时间、消息次数、文本长度、词频等信息。

当然有一些小bug,这将在将来的更新中得到修复。

使用到的Python模块

  • ①jieba:结巴分词,用来处理聊天记录中的文本,尤其是中文文本。
  • ②matplotlib.pyplot:用来画折线图、条形图等。
  • ③matplotlib.*.PdfPages:用来将数据及结果生成PDF文件。
  • ④xlwt:将词频信息写到xls中。

注意点

  • ①QQ中的聊天记录文件的昵称是每一阶段的昵称(时间不同昵称可能不同)。
  • ②聊天文件中的字符一定要使用utf-8编码。
  • ③利用matplotlib画图时中文字体一定要导入到当前文件夹下(Windows系统C盘下面有字体)

QQ聊天记录的导出

环境:截止到2018年7月最新的QQ

①选择消息管理器

②导出消息记录

③保存为txt文件

注意导出后放到代码目录下即可

代码主要步骤

  • ①变量初始化
  • ②读取QQ聊天记录txt文件
  • ③利用结巴模块对聊天记录进行分析
  • ④利用matplotlib画图并导出成PDF文件

核心代码

代码有bug

  • ①非utf-8编码问题导致数据无法加载(使用过颜表情的记录会出现,这里需要手动清除)
  • ②词频统计中文与英文混乱(小bug,不影响使用)

因此只给出核心代码,修复后所有代码将在未来上传至github

获取最新信息请持续关注或在首页订阅omegaxyz.com

未来的工作

  • ①修复bug
  • ②GUI界面
  • ③利用机器学习算法推测聊天用户性格

测试

①主要信息

②词频

③聊天时间分布

④导出的PDF文件

网站所有原创代码采用 Apache 2.0 授权 
网站文章采用知识共享许可协议 BY-NC-SA4.0 授权

 

5 评论

回复 路文龙取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注