QQ空间历史数据导出:扫码登录,3条命令备份你的全部说说
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory 是一个 QQ 空间历史数据导出工具,通过模拟登录抓取你的空间历史消息列表,把说过、转发过、收到留言的说说一次性导出。运行结束后,你会得到一套 Excel 表格(全部列表、说说、转发、留言、好友)、一个还原空间样式的网页版 HTML,以及下载好的说说图片,全部存放在resource/result/你的QQ号/目录下。
📋 它具体能做什么
- 历史消息抓取:输入是一次扫码登录,输出是按时间排序的全部互动记录(说说、转发、留言)。
- 数据自动分类:程序根据内容把记录分成自己的说说、转发、收到的留言、好友互动四类,各自存成独立表格。
- 图片归档:自动下载每条说说里的图片,存到
pic/子目录,文件按说说内容命名。 - 网页版还原:把说说和转发合并生成一个 HTML 页面,带图片、评论和表情,浏览器打开即可浏览。
- 好友清单:汇总消息里出现过的所有好友的昵称、QQ 号和空间主页链接。
🚀 跑起来(安装与使用)
环境要求
Python 3.6+,支持 Windows、macOS、Linux;Linux 系统还需要系统级 zbar 依赖(用于解析二维码,可用sudo dnf install -y zbar安装)。
安装
# 克隆项目 git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory # 进入目录 cd GetQzonehistory # 创建并激活虚拟环境 python -m venv myenv && source myenv/bin/activate # 安装依赖 pip install -r requirements.txt运行
# 一键运行 python main.py第一次运行会发生什么
- 终端打印出登录二维码,用 QQ 手机扫码确认授权。
- 登录成功后,程序按 10 条一页抓取历史消息列表,每页间隔约 3 秒,避免请求过快。
- 接着分页拉取你空间里所有未删除的说说(含 2014 年之前的)。
- 合并两个来源的数据、去重,按类型拆分成多张表。
- 下载全部说说图片,生成 Excel 和 HTML,最后自动打开结果目录。
⚙️ 背后是怎么工作的
整个流程大致是:先拿到登录凭证,再从两个数据源取数,最后统一清洗落盘。登录走的是 QQ 官方扫码接口(util/LoginUtil.py),扫码成功后拿到的 cookies 存在本地,第二次运行直接复用,不用重复扫码。
数据有两个来源:一是空间的消息列表接口(util/RequestUtil.py),记录的是"别人和你互动过"的内容;二是空间动态接口(util/GetAllMomentsUtil.py),拉取你所有未删除的可见说说,用来补全消息列表里没有的早期记录。两者按内容相似度去重后合并。
| 模块 | 一句话职责 |
|---|---|
util/LoginUtil.py | 扫码登录、维护 cookies 会话 |
util/RequestUtil.py | 请求消息列表和空间接口 |
util/GetAllMomentsUtil.py | 分页抓取全部未删除说说 |
util/ConfigUtil.py | 读取配置、管理本地文件路径 |
util/ToolsUtil.py | 编码检测、HTML 解析、表格清洗等通用函数 |
📁 你会得到什么
结果都在resource/result/你的QQ号/下:
QQ号_全部列表.xlsx:所有互动记录按时间排序,包含时间、内容、图片链接、评论四列,适合整体分析。QQ号_说说列表.xlsx:你自己发布的说说,含发布时间、正文和图片链接。QQ号_转发列表.xlsx:你转发过别人的内容,保留转发关系。QQ号_留言列表.xlsx:好友给你留言的记录。QQ号_其他列表.xlsx:好友发布、你互动过的说说。QQ号_好友列表.xlsx:互动好友的昵称、QQ、空间主页链接。QQ号_说说网页版.html:还原空间样式的网页,可直接在浏览器里看图看评论。pic/:全部说说的图片文件。
Excel 表格列结构简单统一(时间、内容、图片链接、评论),可以直接用 pandas 或 Excel 打开做筛选统计;HTML 适合归档和直接分享给别人看。
💡 实用建议与注意事项
- 注意数据边界:数据只来自消息列表和未删除说说,仅自己可见、或已从消息列表消失的内容拿不到,属正常现象。
- 建议用干净网络环境:程序已内置 3 秒以上请求间隔,不要手动调快,也不要和其他工具同时跑同一账号,容易触发风控。
- 建议管理好 cookies:登录凭证保存在
resource/user/下,包含登录态信息,不要上传到公开仓库或分享给他人。 - 建议预留磁盘空间:说说多的账号图片会不少,
pic/目录可能占到几个 GB。
❓ 常见卡点
Q:终端没出现二维码,或者扫码后没反应?
- 确认 Python 版本在 3.6 以上,且依赖已完整安装(
pip install -r requirements.txt无报错)。 - Linux 下如果提示 zbar 找不到,先装系统依赖(如
sudo dnf install -y zbar)再重跑。 - 二维码有有效期,失效了直接重跑程序重新生成。
如果还不行,删掉resource/user/下的旧登录记录再试一次。
Q:导出的数据比空间里看到的少?
- 对照
main.py输出日志,确认"共 N 条消息"和空间消息页条数是否一致。 - 仅自己可见、早期从未出现在消息列表里的说说不一定在抓取范围内。
- 换个网络环境重跑一次,偶发的接口超时可能漏掉个别批次。
如果还不行,先看控制台是否有"获取消息失败"的批次号,那批数据需要重跑补全。
Q:图片下载失败或链接打不开?
- 部分图片源链接已失效,程序会跳过无效链接继续,不影响其他数据。
- 重跑后程序只会补下缺失的图片。
- 手动打开某个失效链接确认是源站问题还是本地网络问题。
如果还不行,可以只保留 Excel 里的图片链接字段,后续自己再处理。
Q:Linux 上提示无法找到 zbar 共享库?
- 按发行版安装:RPM 系
sudo dnf install -y zbar,Debian 系sudo apt install libzbar0。 - 装完重启终端再运行
python main.py。
如果还不行,参考 README.MD 里的安装说明排查。
下一步
现在可以 clone 下来,按上面的步骤装好依赖,跑一次python main.py,第一次会花些时间(消息多就慢一些),跑完直接看resource/result/里生成的表格和网页版。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考