GetQzonehistory完整指南:3分钟把QQ空间全部历史说说备份到Excel和HTML
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
你早年发的那些说说和照片,如今只存在于你不掌握的服务端。一旦业务调整、账号停用,它们可能随时消失,而且无从申诉。你能做的,是趁现在把它们搬进自己完全可控的存储里。
GetQzonehistory 就是干这件事的免费开源工具:扫码登录QQ空间后,它会把你的互动消息列表和全部未删除的可见说说抓取下来,整理成 Excel 表格、HTML 页面和本地图片目录,全程无需输入账号密码。
🚀 GetQzonehistory 安装与首次运行
开始前确认电脑装好 Python 3.8 以上版本。先拉取代码并建一个干净的虚拟环境:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv激活环境、装依赖(已配好阿里云国内镜像,下载更快),然后直接运行主程序:
source myenv/bin/activate # Windows 改为 .\myenv\Scripts\activate pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt python main.py首次运行会在终端打印一张登录二维码(同时存到resource/temp/QR.png),用手机 QQ 扫码确认即可。抓取过程会按批次进行、每批间隔几秒,中途不要关窗口,登录状态和已抓数据都要靠它维持。
GetQzonehistory 的工作方式
一句话概括:扫码登录 → 分批拉取互动消息 → 合并未删除说说列表 → 分类写入 Excel、HTML 和图片文件夹。
它实际用了两个数据源:
- 互动消息列表:QQ空间消息中心的历史记录,包含说说、评论、点赞等互动,能覆盖到与你产生过互动的好友内容;
- 未删除说说列表:每页 30 条分页抓取,连 2014 年之前的老说说也能取到。
两份数据去重后按"自己的说说、转发、留言、其他、好友"分类落盘。各模块分工很直白:util/LoginUtil.py负责扫码登录,util/RequestUtil.py负责发起请求,util/GetAllMomentsUtil.py负责说说分页,util/ToolsUtil.py负责整理 HTML 页面和清洗文本。
📁 导出结果清单:你会得到哪些文件
跑完后所有文件都放在resource/result/{你的QQ号}/目录下,每个账号一个独立文件夹:
| 内容 | 文件 | 用途 |
|---|---|---|
| 六份 Excel 列表(全部、说说、转发、留言、其他、好友) | xxx_说说列表.xlsx等 | 在 Excel 里按时间、关键词筛选,快速定位某条说说 |
| 网页版说说页面 | {QQ号}_说说网页版.html | 浏览器打开即可按时间线浏览,含表情还原 |
| 说说图片目录 | pic/ | 说说里的图片全部下载到本地,按内容命名 |
程序结束后会自动打开结果目录,并打印说说总数、最早一条的发布时间、好友数等统计,方便你确认这次备份是否完整。
GetQzonehistory 配置文件说明:按需调整
程序读写的路径都由resource/config/config.ini决定。这个文件仓库里没有附带,首次运行前需要自己创建(具体做法见下文排查第一条):
[File] temp = ./resource/temp/ user = ./resource/user/ result = ./resource/result/三个参数分别在什么场景下需要改:
temp:二维码和临时文件的缓存位置,缓存不想占用系统盘时改它;user:登录状态(Cookie)以 QQ 号命名存在这里,多账号共用一台电脑时注意保管该目录;result:最常改的一项,想让备份文件落在数据盘,就把它改成对应磁盘路径,目录会自动创建。
🛠️ GetQzonehistory 报错排查:三个高频问题
1. 一启动就报NoSectionError
- 现象:运行
python main.py立刻报"缺少配置节"类错误 - 原因:仓库没有附带
resource/config/config.ini,而程序启动时必须从中读取三个目录 - 解决:新建
resource/config/目录,把上面三个参数写进config.ini,再重新运行
2. 提示"无法找到 zbar 共享库"
- 现象:登录阶段报错,终端里出不来二维码
- 原因:
pyzbar解码二维码依赖系统级 zbar 组件,光装 pip 包不够 - 解决:Linux(dnf 系)执行
sudo dnf install -y zbar;macOS 用 Homebrew 安装 zbar;装完重跑程序
3. 导出的条数比预期少
- 现象:明明发过某条说说,Excel 里却找不到
- 原因:数据源是消息列表加可见说说,"仅自己可见"和已删除的内容天然不在其中
- 解决:这是数据源边界,重跑也补不回来;如果只想完整归档自己发的未删除说说,可以单独运行
python fetch_all_message.py,它会把 Markdown 版本输出到resource/fetch-all/目录
⏰ 进阶用法:增量更新与定时备份
三个小技巧,帮你把一次性备份变成长期习惯:
- 避免重复抓取:两个入口都会把已抓数据缓存在
resource/fetch-all/下的 JSON 文件(如msg-all.json),缓存存在时直接复用;想强制全量重抓,删掉对应缓存文件再运行即可。 - 复用登录状态:Cookie 存在
resource/user/,再次运行时按提示输入账号序号即可,不用重新扫码(前提是登录状态未过期)。 - 定时备份:可以写一条系统级定时任务,比如每周日凌晨 4 点跑一次:
0 4 * * 0 cd /path/to/GetQzonehistory && echo 1 | ./myenv/bin/python main.py >> backup.log 2>&1注意程序启动时会询问要登录的账号序号,所以用echo 1把序号管道进去;Cookie 一旦过期,任务会停在二维码阶段,日志偶尔看一眼。
安全与合规边界
- 所有数据只写到你本机的
resource/目录,不经过任何第三方服务器; - Cookie 是明文文件,不要把
resource/user/目录发给别人; - 只抓取自己账号的数据,不要用它去爬取他人;
- 程序内置了批次间隔,别为求快删掉,以免触发风控。
下一步
服务端的数据你搬不走,但你可以先在自己手里存一份。今晚花 10 分钟把首次导出跑完,拿到第一份 Excel 和 HTML 之后,再把每月的固定提醒设上——下次换手机、换电脑,这些数据就不再看运气了。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考