GetQzonehistory:QQ空间历史说说导出与数字记忆保存指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
QQ空间的时间线翻不回去,但那些说说的数据其实一直留在账号里——空间后台的"历史消息列表"仍然保存着"发布了说说"这类记录,只是界面不再展示它们。开源项目 GetQzonehistory 做的就是把这条暗路走通:模拟扫码登录空间,分页拉取整份历史消息列表,再用当前可见的说做补充,最后把结果整理成 Excel、网页和图片,全部落在你本地电脑上。对想做 QQ空间数据备份 或数字记忆保存的人来说,它覆盖了从登录到归档的完整链路。
先说清楚:哪些数据拿得到,哪些拿不到
这个工具的抓取逻辑基于两个数据源,理解这一点能避免多数"为什么少了"的困惑:
- 历史消息列表(主力来源):程序每次取 10 条、每批之间间隔 3 秒,逐页翻到列表底部。绝大多数几年前的说说都记录在这里。
- 当前可见说说(补充来源):util/GetAllMomentsUtil.py 负责拉取空间主页上还能看到的说说,主程序会先做内容比对、去掉重复项再合并,相当于给消息列表打了个补丁。
有一条边界要提前说明:从未出现在消息列表里的记录(比如发布时设为仅自己可见的说说)是取不回来的,这是数据源本身的限制,不是程序漏抓。
安全方面它走的是 util/LoginUtil.py 实现的官方扫码登录,全程不需要输入账号密码;所有请求、解析、写文件都在你自己的机器上完成,登录凭证和说说内容不会经手任何第三方服务器。
从克隆到运行:环境准备与扫码登录
依赖不多,装进虚拟环境即可:
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依赖清单里都是常见库:requests 负责网络通信,beautifulsoup4 解析页面结构,pandas + openpyxl 写 Excel 文件,qrcode 与 pyzbar 处理二维码的生成和识别,tqdm 显示进度条。
然后一条命令跑起来:
python main.py终端会先弹出登录流程,用 QQ 扫码确认即可;随后出现进度条,按"10 条"为单位推进。说说攒得多的话整个过程可能需要半小时以上,中途看到"Pause for 3 seconds"是程序主动限速,属正常现象。跑完后终端会打印各类数据的条数统计,并自动打开结果文件夹。
导出文件在哪里:一份产物清单 📁
所有成果统一放在resource/result/你的QQ号/目录下,结构如下表:
| 文件 | 内容 |
|---|---|
QQ号_全部列表.xlsx | 去重后的全量消息,含时间、内容、图片链接、评论 |
QQ号_说说列表.xlsx | 仅你自己发布的说说 |
QQ号_转发列表.xlsx | 你转发的内容,保留原始信息 |
QQ号_留言列表.xlsx | 好友在你空间留下的评论存档 |
QQ号_其他列表.xlsx | 其余互动类型消息 |
QQ号_好友列表.xlsx | 列表中出现过的互动好友:昵称、QQ 号、空间主页地址 |
QQ号_说说网页版.html | 还原空间页面观感的网页,支持图片预览 |
pic/子目录 | 说说配图自动下载,按内容文字命名,重名时追加时间戳区分 |
Excel 适合进表格做筛选和统计;HTML 文件可以直接用浏览器打开翻阅,也可以改改样式后导出成 PDF,做成能分享的电子纪念册。图片集中放在pic/里,按内容命名,找起来比翻聊天记录方便。
程序各部分怎么分工
主流程都在 main.py 里:先验证登录态,再循环翻页抓取消息,之后按"本人说说 / 转发 / 留言 / 其他互动"四类分流,最后统一落盘。配置读取、临时目录初始化由 ConfigUtil 负责,所有与空间接口的通信封装在 RequestUtil 里,HTML 清洗、QQ 表情还原成图片标签、网页模板生成、重复内容判断则集中在 util/ToolsUtil.py。值得一提的是,抓取循环注册了信号处理——如果中途按 Ctrl+C 手动停止,程序会先把已抓到的数据保存下来再退出,不必从头再来。
几条值得记下 💡
- 备份节奏:建议每半年或一年跑一次。消息列表是增量积累的,定期跑能让本地档案持续跟上,也便于做年度对比。
- 存储预估:图片是体积大头,账号活跃的话建议预留 500MB 以上空间再开跑。
- 网络选择:抓取是长时低频请求,挑网络稳定的时段进行,减少中途空批。
- 分享注意:导出文件里含有好友的昵称、QQ 号和主页地址,外发前留意他人隐私。
出问题时查这里
| 症状 | 常见原因 | 处理方式 |
|---|---|---|
| 扫码成功但抓不到数据 | 网络波动或登录态失效 | 重新运行并扫码;避开网络高峰时段;检查防火墙拦截 |
| 导出结果比预期少 | 仅自己可见的说说不在消息列表;偶发网络丢批 | 前者无法获取;后者重跑一次程序,已有数据会去重合并 |
| 部分图片没下载下来 | 图片链接已失效或被限流 | 手动打开链接确认是否失效;重跑程序可重试失败项 |
| 终端中文乱码 | 系统编码与 UTF-8 不匹配 | Windows 下在命令提示符执行chcp 65001后重试 |
| macOS 提示缺少 zbar | 本机没有安装 zbar 系统库 | 通过 Homebrew 安装:brew install zbar |
使用边界
最后提一句边界:这个项目定位为个人回忆存档与学习研究用途,请遵守 QQ 平台的使用条款,尊重他人隐私与版权,不要用于商业或批量抓取他人数据。工具把"找回"这件事变简单了,但数据归谁管、分享给谁,还是使用者自己说了算。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考