当前位置:首页 » 《随便一记》 » 正文

基于Python的微信聊天记录分析——数据获取

6 人参与  2024年03月02日 16:46  分类 : 《随便一记》  评论

点击全文阅读


最近突发奇想,作为程序员,想利用掌握的Python和NLP技术分析分析自己和女朋友的微信聊天记录,因此开创了这个系列,本篇为第一篇,主要讲解如何获取相关数据,还涉及编程环境配置等内容。希望和大家多多交流,共同进步!

一. 环境配置

1. Python环境配置

本篇文章中,整体Python代码开发环境是基于Anaconda搭建的~

在CSDN中,讲Anaconda安装的的文章实在太多太多啦(包括安装完之后基本的一些镜像源等等内容的配置),安装详细过程小白同学们可以移步其他文章看一看,我这里只针对Anaconda中Python环境的新建与配置进行简单介绍,步骤如下:

第一步:Anaconda安装完毕后,打开Prompt,出现如下界面(之后的命令都是基于此界面输入)

第二步:创建一个名为chatanalysis的虚拟环境,在Prompt中输入如下命令
conda create -n chatanalysis python=3.10 #chatanalysis可以自己随意起用,python版本可以自己指定

 看到如下字样输入“y”即可,到此Python虚拟环境就安装完毕啦!

 第三步:激活虚拟环境chatanalysis,每次进入Prompt默认的是base环境,此时输入以下命令进入到我们刚刚建立的chatanalysis环境中
conda activate chatanalysis

 此时可以观察到,Prompt界面中的(base)变为了(chatanalysis)

到此Python环境就配置完成啦! 

2. WeChatMsg介绍与配置

(1)WeChatMsg简介

WeChatMsg是本次我用来获取微信聊天记录的工具,它的中文名称是“留痕”,很喜欢作者说的一句话:“有意义的不是微信,而是隐藏在对话框背后的一个个深刻故事”。该工具仍在持续更新中,但目前功能已经相当强大了,大致有以下几项:

打开Windows本地微信数据库还原聊天界面,包括文本、图片、表情包、拍一拍等系统消息导出聊天记录,支持HTML、Word、CSV等格式分析聊天数据

 贴心的是,WeChatMsg的作者不仅在Github上成立了开源项目,还提供了国内Gitee的项目网址,对于国内的朋友们十分友好,项目网址如下:

项目官网:“留痕”官网

Github:WeChatMsg的Github项目地址

Gitee:WeChatMsg的Gitee项目地址(国内用)

(2)Python环境中的WeChatMsg配置

下面我来讲讲在Python环境中如何配置WeChatMsg:

第一步:在Github/Gitee项目网址中下载整个项目,如下图所示(我这里网络不太好,用的Gitee,Github与其类似)

第二步:下载之后在Windows中解压,放在自己指定路径下,然后再Anaconda Prompt中cd至该路径

第三步:根据项目中作者提供的requirements.txt,一键安装所需要的依赖包
pip install -r requirements.txt# 若没有配置镜像源,下载过慢执行以下语句pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

等待一段时间,当界面中出现下图所示内容,即安装完毕

下面我们就要来开始获取记录啦~


二. 聊天记录的获取

第一步:PC端登录微信

 如果第一次登录的话,可能会遇到没有历史聊天记录的情况,需要将手机/Pad等终端的聊天记录迁移到电脑上(这部分很简单就不详细列啦,以手机为例,设置中的聊天记录迁移与备份就可以完成这项功能!)

第二步:启动项目

运行路径下项目中的main.py文件

python main.py

 运行之后不报错且出现如下弹窗,若Prompt中显示报错,请检查Python版本是否≥3.10(作者在要求中明确了需要3.10以上的Python版本)

第一次运行会显示“未解密数据库”,点击确定即可,进入项目主界面

点击主界面中的“获取信息”,可以读取到当前登录账号的相关信息

此时要确认一下微信路径是否正确,正确的话点击“开始启动”即可,会出现如下成功提示~

第三步:再次启动项目

 此时在项目路径下的/app/DataBase/Msg中已经生成了相关数据库文件,下面再次运行“第二步”中的语句,启动项目

此时可以看到解开的聊天记录也都展示在页面中了

第四步:导出聊天记录

点击左上角工具栏中的“数据→导出聊天记录(全部)→CSV”即可

然后选择保存路径,到此为止聊天记录已经全部导出成标准csv格式

若想后续只对和某个好友之间的聊天记录进行分析(比如我就是想分析和女朋友的记录,其他人的不管),也可以选择“好友”栏,通过右上角的“导出聊天记录”将和好友的聊天记录导出成Docx、CSV、HTML、TXT等格式~

到此聊天记录数据就获取完毕啦!


三. 学习后记

其他常用Anaconda命令如下:

查看虚拟环境列表
conda env list
 查看安装的依赖/库包
conda list
退出当前虚拟环境
conda deactivate
删除虚拟环境
conda remove -n  chatanalysis --all #chatanalysis换成你自己的环境名
 设置镜像(清华源为例)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
 查询conda中的命令用法
conda create --help
导出虚拟环境(适用于联网环境中配置好,移动到离线环境中) 
conda env export --name chatanalysis> chatanalysis.yml #chatanalysis可换成自己的环境名
导入虚拟环境(接上条)
conda env create -f  chatanalysis.yml

本篇内容相对比较基础,没有过多编程的地方,Python环境的搭建利用了Anaconda,聊天记录的获取基于WeChatMsg,在Python环境下运行后具备图形化界面,整体流程较为简单,偏新手小白一些。到此我们的数据源可以说已经准备完毕了,在接下来的系列中,我将利用Python开展数据处理、统计分析、基于NLP技术的研究等内容的学习,希望大家多多关注这个系列。

与诸君共勉~

引用(十分感谢这个项目和作者,集成度相当高,极大提升效率):

一文教会你导出微信聊天记录——WeChatMsg原作者


点击全文阅读


本文链接:http://zhangshiyu.com/post/72719.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 京圈佛子破戒后,我改嫁京圈纨绔(沈墨渊,白晶晶)
  • 前世被闺蜜害死,重生后我让她从太子妃变疯女苏婉儿,清歌完本_前世被闺蜜害死,重生后我让她从太子妃变疯女(苏婉儿,清歌)
  • 全书浏览七零军嫂太彪悍,带三宝上军区离婚(沈清落,陈桂花,陆有为)_七零军嫂太彪悍,带三宝上军区离婚(沈清落,陈桂花,陆有为)全书结局
  • 今天也没变成昨天(周扬陈默)全书免费_(周扬陈默)今天也没变成昨天后续(周扬陈默)
  • 重生后,秦总非要父以子贵(许沐晴,秦越泽)全书浏览_重生后,秦总非要父以子贵全书浏览
  • 他嫌弃我喝两块钱豆浆上不了台面,我结婚后他又哭又闹全书万照,白青青在线
  • 昭然若梦前尘烬列表_昭然若梦前尘烬(温昭然方池雲)
  • 导师借我股票账号,我倒欠五十万(孟潇潇,宁薇)_导师借我股票账号,我倒欠五十万孟潇潇,宁薇
  • 拒绝把外卖券给舍友,竹马送我到迪拜捡垃圾(周钰泽,蒋清清,思源)全书浏览_拒绝把外卖券给舍友,竹马送我到迪拜捡垃圾全书浏览
  • 我的人生,你已出局(程森凌古楚文)_我的人生,你已出局程森凌古楚文
  • 穿书成病娇女配,睁眼就签下离婚协议书(朱楼)_穿书成病娇女配,睁眼就签下离婚协议书
  • 老婆逼我给白月光捐肾,我死后她悔疯了(宋逸晨沈墨白)全书浏览_老婆逼我给白月光捐肾,我死后她悔疯了全书浏览

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1