QQ空间备份一键完成:手把手导出历史说说为表格与网页存档
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory 是一个开源的 QQ 空间备份工具,它通过模拟登录,批量抓取你账号下的历史说说,并导出为 Excel 表格和网页存档。对很多老账号来说,这相当于把散落在服务器上的旧动态一次性落到自己的硬盘里。
跑完一次,你会得到什么 📦
所有结果存放在resource/result/你的QQ号/目录下,表格都以 QQ 号命名:
- 全部列表 Excel:账号收到的所有互动消息,自己发的和好友的都有,含时间、内容、图片链接、评论;
- 说说、转发、留言、好友四张分类 Excel:从全部记录里拆分出来的干净版本;
- 网页版存档:一个还原 QQ 空间样式的 HTML 文件,按时间倒序排列,头像、文字、图片、评论都在;
pic/图片目录:所有说说的配图已下载,并用说说内容命名;- 可选的 Markdown 版:另跑一个脚本,还能得到带高清图片的 Markdown 文档,存放在
resource/fetch-all/。
一句话:表格用来查,网页用来翻,图片用来存,一次运行全部到位。
如何备份QQ空间:从装环境到出结果的 5 步
开始前一次性说清前提:电脑装有 Python 3.6 及以上版本,网络通畅(抓取过程要持续访问 QQ 空间接口,别中途断网)。
- 获取项目。执行
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory,再进入项目目录。 - 建一个独立环境。执行
python -m venv myenv,避免依赖污染系统 Python。 - 激活环境。Windows 输入
myenv\Scripts\activate,macOS 或 Linux 输入source myenv/bin/activate。 - 安装依赖。执行
pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt,装不上时再换清华镜像源。 - 运行主程序。执行
python main.py。
第一次运行会在终端打印一个二维码,用手机 QQ 扫码并确认;如果之前登录过别的账号,程序会列出已保存的账号让你选,输 0 则重新扫码。之后不用管它:程序会分批抓取,每抓一批自动停 3 秒,屏幕上有进度条。全部结束后它会打印总条数、最早一条说说的时间,并自动打开结果文件夹。
导出成果逐个看
| 文件 | 用途 | 查看方式 |
|---|---|---|
QQ号_全部列表.xlsx | 全量记录,含好友互动 | 用 Excel 或 WPS 打开 |
QQ号_说说列表.xlsx | 只属于自己的说说 | 同上 |
QQ号_转发列表.xlsx | 自己的转发记录 | 同上 |
QQ号_留言列表.xlsx | 自己对他人的留言 | 同上 |
QQ号_好友列表.xlsx | 出现过的互动好友:昵称、QQ、主页链接 | 同上 |
QQ号_说说网页版.html | 网页版存档,时间、头像、评论齐全 | 双击用浏览器打开 |
pic/目录 | 已下载的说说配图 | 直接用图片查看器翻 |
网页版最值得花时间看:它把说说和转发按时间倒序拼成一条完整时间线,QQ 表情会还原成图片,适合离线慢慢翻。两点提醒:网页里的图片仍指向原网络地址,长期保存依赖本地pic/目录;如果你想要"所有可见说说 + 高清图片"的纯 Markdown 版,再单独跑一次python fetch_all_message.py即可。
幕后逻辑
登录用的是手机 QQ 扫码,不碰账号密码。程序先请求一张登录二维码并在终端里打印出来,你扫码确认后,服务端返回的登录凭证(Cookie)会被写进本地resource/user/目录。下次运行直接读取这份文件,不必反复扫码。
数据来自两条通道:一条是 QQ 空间的历史消息列表,按每批 10 条逐批拉取,批间固定休息 3 秒,相当于放慢节奏降低被风控的概率;另一条是"未删除的可见说说"接口,按每页 30 条翻页,能覆盖到较早年份的内容。两路结果会做比对去重——内容相同只保留一份,消息列表里没有的补进来,重复的不重复入库。
最后是整理和导出:记录统一解析成"时间、内容、图片链接、评论"四列,按时间排序后分类写入五张 Excel;说说的配图逐张下载,文件名取自说说正文(自动去掉特殊字符、限制长度,重名时加时间戳),统一放进pic/;同时用模板渲染出网页版存档。另外程序注册了退出信号,即使你中途手动停止,也会先保存已抓到的部分再退出。
常见问题
- 现象:扫码后终端一直显示"二维码认证中"。原因:二维码已过期或网络波动。处理:重新运行
python main.py生成新码再扫,同时确认电脑系统时间没有偏差。 - 现象:启动报"无法找到 zbar 共享库"。原因:Linux/macOS 缺少二维码识别所需的 zbar 系统库。处理:基于 RPM 的发行版执行
sudo dnf install -y zbar;macOS 用 Homebrew 安装 zbar,程序会提示你按步骤创建符号链接。 - 现象:依赖安装失败或很慢。原因:网络受限、默认源不可达。处理:换用阿里云或清华的镜像源重新执行安装命令。
- 现象:抓取中途提示获取失败或某批次为空。原因:请求间隔不足触发了风控。处理:程序会跳过坏批次继续,整体稍停几分钟再重跑即可;已抓到的数据在停止时会保存,不会全部丢失。
- 现象:部分早期说说始终导不出来。原因:设置为"仅自己可见"、或根本不在历史消息列表里的内容,接口拿不到。处理:这是数据边界而非故障,能靠"可见说说"这条通道补全一部分,其余无法覆盖。
写在最后
一条说说背后是一个具体时间里的自己,把它从服务器上搬到本地硬盘,才算真正握在手里。建议先完整跑一次备份,之后每年再跑一次做增量覆盖,用网页版存档慢慢翻。本工具仅供个人回忆保存与学习研究使用,请遵守相关法律法规与平台条款,不要抓取或传播他人内容,尊重他人隐私。
项目说明文档:README.MD
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考