QQ空间说说如何完整导出:GetQzonehistory 深度评测与上手指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory 是一款免费开源的QQ空间说说导出工具:手机扫码登录后,它自动分页抓取你发布的历史说说、图片与评论,最终输出 Excel 表格、网页版 HTML 和独立图片文件夹,把整套QQ空间数据备份完成在你的本地电脑上,全程不上传第三方服务器。
先说清问题:历史说说为什么值得完整导出一份
QQ空间不提供官方批量导出入口,手动截图既慢又乱,而账号长期不用、换设备或想迁移数据时,那些十几年前的说说和图片一旦拿不回来,就真的没了。GetQzonehistory 解决的就是这个痛点:把空间历史说说导出成结构化、可检索、可长期保存的本地文件。
3 分钟跑通:环境要求与安装步骤
环境要求不高:
- Python 3.9 及以上(项目实际验证到 3.12)
- Linux 用户需要额外安装
zbar(sudo dnf install zbar或sudo apt install zbar),macOS 脚本会检测 Homebrew 并提示一键安装 - 一部登录了 QQ 的手机,用于扫码
按下面几步走即可:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv # Windows 激活:.\myenv\Scripts\activate # macOS / Linux 激活:source myenv/bin/activate pip install -r requirements.txt python main.py运行main.py后,终端会打印一个登录二维码,用手机 QQ 扫一下,控制台出现「用户登录成功」就可以等待导出了。如果不想自己搭环境,项目的 release 页面也提供了打包好的单文件程序,可直接执行。
核心能力拆解:它到底给你导出了什么
整个流程分五个阶段,从扫码登录一路到归档输出:
它有两个入口,覆盖不同需求:
1.main.py:消息列表为主 + 可见说说补齐从空间消息列表按每批 10 条翻页,抓取得到的每条记录都包含时间、内容、图片链接、评论四个字段;随后再拉取「可见的未删除说说」做补齐合并,两边内容互相去重,避免重复入库。
2.fetch_all_message.py:直连说说列表接口按每页 30 条分页拉取全部可见未删除说说,官方说明覆盖 2014 年之前的老数据,最终生成一份带图片、带转发原文、带评论的 Markdown 文件(所有可见说说.md),并把图片原图下载下来。
main.py跑完后,resource/result/你的QQ号/目录下会有这些文件:
| 文件 | 内容 |
|---|---|
QQ号_全部列表.xlsx | 抓到的全部记录(时间/内容/图片链接/评论) |
QQ号_说说列表.xlsx | 仅本人原创说说的筛选结果 |
QQ号_转发列表.xlsx | 转发类内容 |
QQ号_留言列表.xlsx | 留言记录 |
QQ号_其他列表.xlsx | 其他互动消息 |
QQ号_好友列表.xlsx | 消息中出现的昵称、QQ、主页链接 |
QQ号_说说网页版.html | 还原空间信息流样式的网页 |
pic/文件夹 | 所有说说图片,按内容命名 |
细节上能看出作者下了功夫:QQ 表情码会被替换成可显示的图片标签、图片链接会自动从中图(/m/)改成高清图(/s/)、文件名会清除非法字符并截断到 40 字以内、重名图片自动加时间戳。
实测体验:导出要多久,结果长什么样
速度方面,由于代码里每抓 10 条会固定sleep(3)秒防限流,纯等待时间大约 18 秒 / 百条。以一个 500 条消息的账号估算,光等待就要 2 分半,加上 HTML 解析、图片逐张下载,实际耗时大致在 5 到 10 分钟,终端有 tqdm 进度条可以观察批次。
几个真实的使用感受:
- 中断不丢数据。程序注册了信号处理,按
Ctrl+C退出时会自动把已抓取的内容存盘,长账号导出中断后不会白干。 - 图片是本地文件而不是链接。
pic/目录存的是下载下来的 JPG,命名取自说说正文,天然按内容分好类,做相册整理时可以直接按文件拖拽。 - 网页版 HTML 可以直接双击打开,头像、时间线、评论都还原了,给家人看或者自己存档都够用;跑完程序还会自动打开结果目录(Windows/macOS/Linux 都做了适配)。
- 完整性有明确边界:仅自己可见的说说、以及已删除的说说都不在抓取范围内,这一点在 README 里写得很清楚,不是工具「漏抓」而是源头就取不到。
典型场景实操:四种高频用法
场景一:换号 / 冻结前的抢救式备份先把 QQ 号里的空间当成「数字资产」盘点一遍。跑一次main.py拿全量 Excel 和 HTML,再跑一次fetch_all_message.py拿 Markdown 版,两套格式互为校验,图片单独归档到移动硬盘,迁移风险降到最低。
场景二:相册整理pic/里的图片文件名就是说说内容(截断版),配合全部列表.xlsx里的时间和原文,可以用 Excel 筛选出「2015–2016 年所有带图说说」,批量定位对应图片,比翻手机相册快得多。
场景三:做一本个人纪念网页QQ号_说说网页版.html本身就是成品页,改个文件名发到内网或打包进纪念册都行;想二次编辑的话,它就是纯 HTML + 模板渲染,直接改样式即可。
场景四:按时间做数据统计Excel 里对「时间」列做筛选和透视,就能统计自己哪几年发得多、哪类内容(原创/转发/留言)占比高——这其实是不少社交媒体研究课题的入门级数据源。
为什么选它:和其他方式比差在哪
拿它和常见替代方案对比一下:
| 维度 | GetQzonehistory | 手动截图 | 第三方网盘同步 |
|---|---|---|---|
| 数据格式 | 结构化 Excel + HTML + 图片 | 图片碎片 | 不保证结构化 |
| 登录方式 | 扫码,不碰密码 | 无 | 多为授权 Cookie |
| 数据去向 | 全程本地 | 本地 | 第三方服务器 |
| 历史覆盖 | 消息列表 + 可见未删除 | 取决于你翻多深 | 通常只有新数据 |
| 成本 | 免费开源 | 时间成本 | 订阅费 |
差异化优势集中在三点:不经过任何第三方服务器、多格式一次出全(表格给人分析、网页给人看、图片给人存)、断点可恢复(缓存 JSON + Ctrl+C 自动存盘)。代价是没有图形界面、Linux 要手动装 zbar,属于典型的「终端党工具」。
进阶技巧与注意事项 🛠️
- 多账号切换:每次登录的 Cookie 会存到
resource/user/下以 QQ 号命名的文件,再次运行时可选择历史账号,输入 0 重新扫码。 - 改保存位置:
resource/config/config.ini里可以改临时目录、用户目录和结果目录的路径,大账号建议指向空间充足的盘。 - 断点续传:
fetch_all_message.py会把分页结果缓存到resource/fetch-all/(msg-one.json样本 +msg-all.json全量),下次运行直接读缓存,不用重复请求。 - 图片命名规则:文件名来自说说正文,超过 40 字符会截断、特殊字符替换为下划线,重名自动加时间戳——整理时别指望文件名 100% 唯一可读。
- 合规红线:README 顶部有醒目免责声明,工具仅限个人学习与技术研究,导出内容受 QQ 及第三方版权约束,请勿商用或用于骚扰、人肉等用途,请求频率也尽量保持默认,不要自己调小 sleep。
常见问题 FAQ
登录二维码过期或扫码失败怎么办?直接重新运行python main.py即可,二维码是动态生成的,无需任何配置。
删除过的说说能导出来吗?不能。工具只能抓到「可见且未删除」的内容,删除记录在接口层面就拿不到,这是能力边界而非 Bug。
仅自己可见的说说呢?同样不在范围内,README 明确说明消息列表里没有的内容无法获取。
Linux 上提示找不到 zbar 共享库?RPM 系执行sudo dnf install -y zbar,Debian/Ubuntu 系执行sudo apt install zbar,装完重启程序即可;macOS 上脚本会自动引导用 Homebrew 安装并建软链接。
会影响账号安全吗?登录只走官方扫码流程,不索取密码,Cookie 只保存在本地resource/user/。风险主要来自抓取频率,保持默认间隔、按需运行一次,不要把导出当日常高频操作。
Windows 能直接跑吗?可以,且体验最顺——结束后会自动打开结果文件夹并暂停等待按键;release 页还有打包好的单文件版,免装依赖。
结语
一句话总结:GetQzonehistory 把「QQ空间说说导出」这件靠手速的脏活,变成了扫码后等几分钟的自动化流程。它不追求功能大而全,但在数据本地化、多格式输出和容错设计这三件事上做得相当扎实。
适合人群:想要一次性搬空空间老数据的人、担心账号变更而提前备份的人、需要用 Excel 做时间线分析的个人用户,以及想研究空间数据结构的开发者。不适合的人:想要图形界面、一键双击、还要能导「已删除内容」的用户——这类需求它明确不满足。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考