QQ空间数据备份完整指南:GetQzonehistory 一键导出全部历史说说
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
凌晨收到一条"QQ空间升级"的推送,顺手点进去,2016 年发的那条说说已经翻不到了——它只活在别人的服务器里。GetQzonehistory 解决的就是这个问题:把QQ空间历史说说一键导出成 Excel,图片、评论一并落到本地硬盘。
把QQ空间搬进硬盘:四个核心能力
一句话概括:程序模拟登录你的QQ空间,把能拿到的动态全部抓下来,存成结构化文件。
- 全量遍历:从最新一条自动翻到最老一条,不用手动翻页截图
- 图片批量下载:每条动态的配图直接存成本地 jpg,图床失效也照样能看
- 多表 Excel:说说、转发、留言、好友各占一张表,带时间、内容、图片链接、评论字段,筛选检索一步到位
- 中断可续:抓一半断了,按 Ctrl+C 也会把已抓数据写盘,重跑接着来
3 分钟跑通全量备份
装环境
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv source myenv/bin/activate pip install -r requirements.txtWindows 下把激活命令换成myenv\Scripts\activate。不想搭环境的话,项目 release 页提供了打包好的单文件,下载即用。
扫码进门
python main.py终端会打出一串字符拼成的二维码,就像工地门口那张当日有效的临时工牌:用手机 QQ 扫它,在手机上点确认。码几分钟就失效,旁边有人的话记得把屏幕挡住。登录凭证会缓存在resource/user目录,下次启动直接选已登录账号,不用重复扫。
结果落在哪
跑完后程序会自动打开resource/result/你的QQ号/文件夹,这就是整套 QQ空间数据备份的实体:
6 张 Excel(全部列表、好友、说说、转发、留言、其他)+ 一份还原成网页版样式的 HTML +pic/目录下的本地图片。Excel 每行对应一条动态,时间精确到秒。有一类内容拿不到:仅自己可见的说说不在消息列表接口里,这是平台限制,不是程序 bug。
原理速览:它是怎么翻完所有页的
三个环节值得看一眼,其余都是体力活。
二维码登录
util/LoginUtil.py向登录服务器要一张二维码,解码后以 ASCII 形式打印在终端(同时存一份resource/temp/QR.png备用),然后每 3 秒轮询一次认证状态。确认登录后换回 cookie,并算出后续接口要用的签名参数 bkn 和 g_tk。
分页翻页
数据不是一口气吐给你的。util/GetAllMomentsUtil.py先查总条数,再按每页 30 条、偏移量递增逐页拉取——像翻快递柜:记着当前层号,一层掏空再往下,直到柜底。消息列表那边是每批 10 条、批间停 3 秒(util/RequestUtil.py),把请求频率压得足够低。
两条数据流
消息列表抓到的互动动态,会和"未删除可见说说"(可追溯到 2014 年之前)按内容去重后合并。一个入口管互动记录,一个入口管完整历史,两条流互补,遗漏面小得多。
进阶玩法:导出的数据还能这样用
导出一份 Markdown 时间线
python fetch_all_message.py生成所有可见说说.md,图片同目录本地化,转发用引用块、评论用列表,丢进任何笔记应用或博客都能直接读。
年度回顾
拿到 Excel 后,用 pandas 读进来按年份分组统计,就能画出你十年的发布频率曲线——哪年话最多、哪年彻底躺平,一目了然。
多账号切换
凭证按 QQ 号分别缓存在resource/user,启动时列出已登录账号让你选,输 0 则重新扫一个新号。想改输出目录,编辑resource/config/config.ini里的路径即可。
避坑速查
⚠️ 先记一条安全底线:resource/user里的凭证文件等同于你的登录态,别截图发群、别传公开网盘。
| 现象 | 原因 | 解法 |
|---|---|---|
| 终端看不到二维码 | 终端渲染不支持 | 扫resource/temp/QR.png |
| 启动报 pyzbar / zbar 错误 | 缺系统级 zbar 库 | Linux 装好 zbar 再启动 |
| 二维码已失效 | 超过有效期未扫 | 重跑python main.py出新码 |
| 抓到一半中断 | 网络波动 | 重新运行;Ctrl+C 也会先保存已有数据 |
| "仅自己可见"的说说缺失 | 接口不返回这类内容 | 平台限制,无解 |
把备份排进日历
QQ空间的数据不会等你想起来才备。把每月第一个周日设成固定备份日:跑一次python main.py,确认resource/result里多了新文件,再把整个文件夹拷到另一块硬盘或私有网盘。首次全量跑完,之后每月几分钟就够。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考