如何使用GetQzonehistory:四步完整备份QQ空间历史说说,导出Excel与网页存档
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
跑一次 GetQzonehistory,你发布的QQ空间历史说说就被批量导出:说说、转发、留言、好友、全部记录共 6 张 Excel 表,一个QQ空间风格网页版,外加存满图片的 pic/ 目录,全部落在 resource/result/QQ号/ 下。
📦 成果清单:一次完整备份后你会拿到哪些文件
程序结束时会自动打开结果文件夹,里面按你的QQ号命名,一共是这些东西:
| 文件 / 目录 | 命名示例 | 里面是什么 |
|---|---|---|
| 说说列表.xlsx | 123456_说说列表.xlsx | 你自己发的说说:时间、内容、图片链接、评论 |
| 转发列表.xlsx | 123456_转发列表.xlsx | 你转发过的内容 |
| 留言列表.xlsx | 123456_留言列表.xlsx | 你留下的留言记录 |
| 好友列表.xlsx | 123456_好友列表.xlsx | 出现在互动里的好友:昵称、QQ号、空间主页 |
| 全部列表.xlsx | 123456_全部列表.xlsx | 历史消息里的全部记录合并 |
| 其他列表.xlsx | 123456_其他列表.xlsx | 别人发的说说、赞等你触发的记录 |
| 网页版.html | 123456_说说网页版.html | 带头像、图片、评论的离线网页,浏览器直接打开 |
| pic/ | resource/result/123456/pic | 所有说说配图,按说说内容重命名后的 jpg |
两点提前说清楚:一是终端会打印本次导出的消息总数、最早一条说说的发布时间,方便你核对;二是设为"仅自己可见"、从未产生互动的说说不会出现在历史消息列表里,抓不到,README.MD 里也标注了这个边界。
三分钟看懂原理:两条数据通道怎么互相校验
把它想成快递柜管理员整理包裹:
- 拿钥匙:程序请求QQ空间登录接口生成二维码,你在终端里用手机QQ扫码。验证通过后 Cookie 会按QQ号存成文件放进 resource/user/,下次运行直接从列表里选账号,输入 0 才是重新扫码。
- 翻台账 + 看货架:第一条通道读历史消息列表,它像物业台账,只记录发生过互动的说说,程序每页取 10 条、每页间隔 5 秒(见 util/RequestUtil.py);第二条通道读当前可见说说,像柜台上还能取到的包裹,每页 30 条,且能翻到 2014 年之前的老内容(见 util/GetAllMomentsUtil.py)。
- 对单装箱:程序按内容比对两份数据,重复的只入一次箱,然后分类、排序,写出 6 张表,渲染网页版,再把图片下载进 pic/。
所以备份结果会比你在空间页面肉眼翻到的更全:被折叠、难找的老说说有机会从另一条通道补回来。
环境准备与运行:从零跑通一次完整备份
前置条件只有一个:装好 Python 3(3.6 及以上),能正常联网。
克隆项目并建立虚拟环境
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistorypython -m venv myenv source myenv/bin/activate # Windows 用 myenv\Scripts\activate装依赖并运行主程序
pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txtpython main.py终端出现二维码后,用手机QQ扫并确认。随后进度条开始逐批拉取,历史消息量大时整个过程需要一些时间,中途别断网。完成后文件夹自动打开。Linux 下首次运行若提示找不到 zbar,那是二维码解码库缺失,按提示sudo dnf install -y zbar装上即可。
进阶用法:备份之外的两个具体场景
场景一:生成 Markdown 版存档
python fetch_all_message.py它复用登录状态,直接拉"全部可见的未删除说说"(含 2014 年之前),生成 resource/fetch-all/所有可见说说.md,图片按帖子 ID 命名下载到同目录。想把空间内容搬进 Obsidian、Notion 这类笔记工具时,这份 Markdown 比 Excel 更好用。
场景二:用 Excel 做旧数据统计
说说列表表里时间、内容、图片链接、评论都是规整列。用透视表就能算出:哪一年你发得最多、哪位好友在你下面评论最勤。会 Python 的话,直接pd.read_excel进来做词频或时间分布也行。如果你要备份多个QQ号,再次运行时在用户列表里换一号即可,各账号登录状态是分开的。
常见问题排查表:五种情况的处理动作
| 遇到这种情况 | 先做什么 |
|---|---|
| 扫码后一直停在"认证中"或二维码过期 | 等程序自动刷新;过期就重开程序,并确认电脑系统时间准确 |
| 启动报 zbar / pyzbar 找不到 | Linux 执行sudo dnf install -y zbar;macOS 用 Homebrew 装后按提示建符号链接 |
| 依赖安装失败或超时 | 换国内镜像源重装 requirements.txt 里的依赖 |
| 抓取中途提示"请求超时" | 程序自带请求间隔,稍等片刻重跑即可,别连续高频运行 |
| 个别早期说说没导出来 | "仅自己可见"的说说不在消息列表里,属工具边界,用可见说说通道尽量补全 |
克隆项目、装好依赖,扫码跑完一次完整备份,再把结果目录整体拷到移动硬盘即可。 本工具仅供个人记忆保存、学习与研究使用,请遵守相关法律法规与平台条款,不要将他人内容用于传播。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考