5个高效技巧:用Claude技能系统构建专业文档工作流
GetQzonehistory 快速上手教程:如何把 QQ 空间历史说说完整导出成 Excel 和图片
【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
换手机的晚上十一点,你想把用了八年的 QQ 空间历史说说全部带走,结果发现:App 里只能往后翻最近的动态,没有任何"批量导出"按钮;网页版的消息列表只记录互动记录,翻到 2016 年的一条老说说得手动往上滑半个多小时。一条条复制文字、一张张另存图片,上千条说说根本做不完。GetQzonehistory 就是为这个场景做的:它模拟扫码登录 QQ 空间,自动抓取你的历史消息列表和全部未删除说说,下载所有图片,最后输出一套分类 Excel 加一个可浏览的网页,全程不用你动手。
一分钟看懂:GetQzonehistory 是做什么的
它是一个 Python 命令行工具,解决的核心问题是:QQ 空间没有官方批量导出,多年动态散落在列表深处、图片还会过期。适合两类人——想给自己账号做一次完整存档的普通用户,以及想入门网页抓取学习的编程新手。
打个比方,它像照相馆里的"冲洗师傅":你不用自己翻相册,它按批次把底片(消息列表)一张张取出来,逐条解析出时间、文字、图片链接,最后装订成册(Excel 和网页)。整个流程大致是这样一条管线:
扫码登录,状态存到 resource/user/
抓取历史消息列表(每批10条,批间停3秒)
抓取全部未删除说说(每页30条,可回溯到2014年前)
分类:本人说说 / 转发 / 留言 / 其他 / 好友
输出:6张Excel + 图片文件夹 + 网页版HTML
一句话讲透:它是一台把十年老账号变成表格和图片的"归档机"。
四项核心能力:跑完你能拿到什么
- 从"一条条翻"变成"一键全量导出"。 一次运行产出全部列表、本人说说、转发、留言、其他、好友共 6 张 Excel,并把说说里的图片全部下载到本地文件夹,最后再生成一个还原 QQ 空间网页版排版的 HTML 页面。
- 从"每次扫码"变成"登录状态复用"。 扫码成功后 cookie 会写入 resource/user/ 目录,下次运行直接按序号选已登录账号即可,登录逻辑见 util/LoginUtil.py。
- 从"只看得到近期"变成"回溯到 2014 年以前"。 除了消息列表,它还会通过接口翻页拉取所有未删除说说(含旧数据),分页抓取逻辑在 util/GetAllMomentsUtil.py,这是手机 App 基本看不到的深度。
- 从"中途断了白跑"变成"Ctrl+C 也不丢数据"。 main.py 里注册了信号处理,你手动终止程序时,已抓到的内容会先落盘再退出。
标准很简单:跑完后,你的每条说说都在表里,每张图片都在文件夹里,中途打断也不白费。
三步装好并跑通:从克隆到第一次导出
第 1 步,克隆仓库并进入目录:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
cd GetQzonehistory
第 2 步,建虚拟环境并装依赖 requirements.txt。激活方式跨平台不同:Windows 用 .\myenv\Scripts\activate,macOS 和 Linux 用 source myenv/bin/activate。
python -m venv myenv
pip install -r requirements.txt
第 3 步,运行主程序,用手机版 QQ 扫终端里打印出的 ASCII 二维码:
python main.py
登录成功后自动开始抓取,结束后会打印导出路径并在系统资源管理器里打开结果文件夹。不想搭环境的,Release 页面有打包好的单文件版本,下载后直接双击运行即可,跳过前面所有步骤。
跑通的标准只有一个:终端出二维码,你扫一下,过一会儿看到"导出成功"。
效果对比:和纯手动比,它快在哪
| 对比项 | 纯手动 | GetQzonehistory | 变化 |
|---|---|---|---|
| 导出 500 条说说 | 约 4 小时(每条 30 秒) | 约 10 分钟(估算) | 快约 24 倍 |
| 覆盖范围 | 只覆盖你翻到的部分 | 全部未删除 + 2014 年前旧帖 | 从"部分"到"全量" |
| 图片 | 逐张另存,多为缩略尺寸 | 批量下载并自动换成高清图 | 从缩略图到原图 |
| 产出形态 | 散落的截图和复制文字 | 6 张 Excel + 图片目录 + HTML 页 | 结构化归档 |
| 中途退出 | 已做的全部作废 | Ctrl+C 也会保存已有数据 | 零损失 |
代价也如实说清:每批 10 条之间固定停 3 秒,这是防风控的限速设计,所以总耗时基本随条数线性增长,2000 条的账号预留半小时更稳;图片文件夹约每张 100~300KB,千条账号准备 1~3GB 磁盘。硬件门槛几乎没有,一台普通办公本、装好 Python 3 就能跑。
直白点:它的瓶颈不是算力,是等待时间——慢一点,才稳一点。
避坑指南 ⚠️:新手最容易卡的五处
- macOS 报"找不到 zbar 共享库":pyzbar 依赖系统级的 zbar,先执行
brew install zbar;程序本身也会检测并交互式引导你安装,照着提示回答 y 就行。 - "仅自己可见"的说说始终缺失:这不是 bug。两个数据源(互动消息列表、公开说说列表)里本来就没有私密内容,做存档规划时别把它们算进去。
- 手痒把 3 秒暂停删掉:千万别。那个暂停是防风控缓冲,去掉后请求频率上去,登录态可能被踢。仓库是只读参考,请勿改代码提速。
- 把首跑当成挂夜的任务:消息列表很长时批次数多,二维码中途可能失效,建议盯着终端跑,看到"二维码已失效"重新扫码即可。
- 提示"登录失败:请重新登录":说明 cookie 过期了,重新运行程序,在已登录用户列表里输入 0 触发重新扫码。
避坑顺序永远是:先确认数据源边界,再确认环境依赖,最后才谈速度。
FAQ:你最可能问的四个问题
Q1:设为"仅自己可见"的说说能抓到吗?
不能。它的两条数据通道都来自服务端公开数据,私密说说不会进入任何一条通道,这是数据源边界,不是工具能力问题。
Q2:每次运行都要重新扫码吗?
不用。登录成功后 cookie 已存入 resource/user/,下次按序号选择即可;只有状态过期才需要重新扫码。
Q3:自己账号跑这个,安全吗?
个人存档、保持内置频率,一般没问题。项目 README 的免责声明写明仅供学习和技术研究,不得用于商业或非法用途,照着用即可。
Q4:产出只有 Excel 吗?
不是。除了 6 张 Excel 和图片目录,还有一个按 QQ 空间网页版样式还原、带高清图的 HTML 页面,双击就能在浏览器里翻"老空间"。
一句话:能拿的它都拿,拿不到的它不装,拿不准的,先回数据源找答案。
收尾:今天就能做的 3 件事
- 按上面三步克隆、装依赖、运行,扫一次码,把第一次完整导出跑完;
- 打开 HTML 页面和 6 张 Excel 核对:时间、图片、评论是否齐全,缺失的正常是私密内容;
- 把导出的文件夹整体备份到网盘或移动硬盘,每隔几个月趁登录态还有效,重跑一次增量补齐。
如果你跑出了新想法,比如想把输出换成 Markdown 格式,欢迎去项目的 Issue 区讨论或自己提交改进——开源工具的完整度,就是被这样的用户一条一条"喂"出来的。
存档这件事,从今晚这一次扫码开始:跑完一遍,往后回忆就不再依赖记忆了。
【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
更多推荐


所有评论(0)