一个下午搞定QQ空间说说备份:让十年回忆不再悄悄消失
【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory是开源免费的QQ空间说说备份工具,扫码登录即可把历史说说、转发、留言、评论与配图完整下载到本地,生成Excel表格与网页版。本文带你十分钟跑通首次备份,附避坑清单与进阶玩法。
那晚,老周的说说一夜之间少了一半
去年秋天,朋友老周翻QQ空间找大学时的合影说说,翻到一半愣住了:2013年之前的动态一条不剩,全被平台清理了。那一刻我才意识到,说说这种东西,哪怕存了十年,所有权也不在自己手里。后来我认真研究起QQ空间说说备份,找到了开源工具 GetQzonehistory——不需要密码,扫码登录就能把你发布过的全部历史说说、转发、留言、评论连同配图,一条不落地搬到本地电脑。
老周那批内容里,有他初恋发的合照,有通宵赶论文的吐槽,有第一次远行拍的晚霞。我帮他试跑了一趟,832条说说、46张图全部捞了回来,他盯着屏幕看了很久,只憋出一句:"早十年知道有这东西就好了。"
这件事给我的启发很简单:内容放在别人服务器上待着,不等于你拥有它。与其祈祷平台永远不清理、账号永远不出状况,不如花一个下午,自己留一份。
30秒看懂它到底帮你干什么
GetQzonehistory 的名字直译过来就是"取回QQ空间历史",它解决的核心问题只有一句话:把分散在QQ空间里的历史消息列表,整理成你本地能随时打开的数据。
- 它是什么:一个纯本地运行的开源命令行工具,Python 写的,主程序入口在
main.py。 - 解决什么问题:平台清理、账号异常、误操作删除,都可能让说说无声消失;它提前把这些内容"复制"一份到你硬盘上。
- 适合谁:想留档自己空间的普通用户、想拿数据做分析的研究者,以及任何"怕某天打不开了"的人。
整体流程从扫码到出结果,就是下面这张图讲的几步:
顺带提醒一句:它备份的是"你自己"空间里历史消息列表能看到的部分,具体边界在后面的避坑章节细说。
先跑通一次:十分钟看到成果
介绍写得再多,不如亲手跑一遍。前提是你电脑上有 Python 3,整个流程四步走完。
第一段代码在做什么:克隆项目、建虚拟环境、装依赖。
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 -r requirements.txt
第二段代码在做什么:启动主程序,开始备份。
python main.py
运行后终端会弹出一个二维码,手机QQ扫一下即完成登录,全程不碰密码。登录状态会被缓存,下次再跑会先让你选择已登录的账号,不用反复扫码。
接下来就是等待。抓取按批次进行,每批之间留了几秒间隔,进度条会告诉你走到哪了。这里有个设计我特别喜欢:中途想停,直接 Ctrl+C,程序会先把手头已抓到的数据存好再退出,这个保护逻辑写在 main.py 的 signal_handler 函数里——跑一半中断,前面抓的也不会白费 😌。跑完会自动打开导出文件夹,并在控制台汇总总条数、最早一条说说的发布时间等统计信息。
数据到手之后,你看到的是这样的
所有结果都落在 resource/result/你的QQ号/ 目录下,结构长这样:
打开后你会看到三类产出物 📁:
| 产出物 | 内容 |
|---|---|
六张 .xlsx 表格 | 全部列表、说说列表、转发列表、留言列表、其他列表、好友列表 |
一个 .html 网页 | 按时间倒序还原的说说时间线,头像、正文、配图、评论都在 |
一个 pic/ 文件夹 | 自动下载的配图,文件名取自说说内容 |
表格里时间精确到秒,正文原样保留,图片链接单独成列,评论也做了结构化拆分——哪条评论是谁发的、说了什么,都能单独查到。网页版不联网也能开,双击就能在浏览器里翻。还是说老周的例子:跑完后那 832 条说说的配图全被换成了高清链接下载,他感叹连当年糊成马赛克的照片都比记忆里清楚。
拿到数据,别急着关文件夹
备份只是第一步,数据到手,玩法才刚开始。
玩法一:用 Pandas 看你的十年发言规律
以下代码在做什么:读 Excel,把年份拆出来,统计每年发了几条说说。
import pandas as pd
df = pd.read_excel('你的QQ号_说说列表.xlsx')
df['时间'] = pd.to_datetime(df['时间'], format='%Y年%m月%d日 %H:%M:%S')
df['年份'] = df['时间'].dt.year
print(df['年份'].value_counts().sort_index())
哪年话多、哪年沉默,一眼就懂。想再深一层,还能统计高频词汇、配图数量变化,把回忆做成一份专属统计报告。
玩法二:让备份变成习惯
网页版适合随手收藏,真正的安全感来自定期留档。Linux/macOS 在 crontab 里加一行每月任务,Windows 用任务计划程序,把 python main.py 排进去,往后的每一条新说说都会自动收进这份历史记录里。
玩法三:当素材库用
写文章、剪视频时,这些历史动态里藏着的真实情绪和细节,就是现成的素材。在自己的 Excel 里搜关键词,比翻聊天记录高效得多。
新手最容易踩的坑:四张速查卡
第一次跑的时候,下面几个问题出现频率最高,对照着查能省不少时间。
| 现象 | 原因 | 对策 |
|---|---|---|
| 报错说找不到 zbar / 二维码识别库 | 系统缺扫码依赖 | Linux 装 libzbar0(或 zbar);macOS 运行时会有提示,用 Homebrew 一键装 |
| 扫出来的码总提示已失效 | 系统时间不准、网络波动、刚被安全策略拦过 | 校准系统时间,换稳定网络,隔几分钟再重新生成二维码 |
| 只抓到一部分,总数对不上 | 历史消息列表之外的内容(如仅自己可见的说说)天然不在列表里;网络不稳也会漏批次 | 保持网络通畅,必要时多跑几次,看控制台输出确认有没有报错批次 |
| 图片少了几张 | 个别链接失效,或 pic/ 目录不可写 | 检查目录权限;Excel 的图片链接列里还留着原始 URL,可手动补下 |
还有个不算坑的"坑":跑得慢是正常的。批次之间故意留了间隔,是为了降低触发平台风控的概率,说说多时整体耗时偏长,耐心等进度条走完,也可以拆成几次分批保存。
关于安全,把话说明白
这类工具绕不开安全话题,我把几条设计原样摆出来,你自己判断:
- 本地闭环:抓到的数据只写进你的硬盘,不经过任何第三方服务器。
- 扫码免密:不收集、不保存密码,Cookie 存在本地
resource/user/目录,不放心随时删除重新登录。 - 源码全开:登录、请求、解析逻辑分别在
util/LoginUtil.py、util/RequestUtil.py、util/GetAllMomentsUtil.py里,每一步都能逐行核对。 - 账号隔离:请求缓存按QQ号分开存放,多账号互不干扰。
边界也要讲清楚:项目自带免责声明,仅供学习与技术研究使用,别用于商业或非法用途。备份的是你自己的空间内容,别拿它去采集别人的数据,尊重平台规则和他人隐私,这是底线。
把这一步放进今天的待办清单
老周那 832 条说说的教训,其实只有一句话:你以为还在的东西,可能某天就悄悄不在了。与其赌运气,不如花一个下午,亲手留一份。
按下面四步走,今晚就能看到结果:
- 克隆项目、装好依赖(命令在上文,直接复制)
- 运行
python main.py,手机扫码完成登录 - 等进度条走完,打开
resource/result/你的QQ号/翻一翻 - 如果觉得顺手,给项目点个 Star,让更多想留住回忆的人找到它
十分钟装环境,一个下午等完,换来的是一份十年后依然能打开的历史记录。趁今天还能扫上码,先备份一份到本地。
【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





