GetQzonehistory实操指南:3步备份QQ空间全部历史说说
2026/9/20 20:02:16 网站建设 项目流程

GetQzonehistory实操指南:3步备份QQ空间全部历史说说

【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory

整理旧照片时翻到一张 2014 年的空间留言截图,你想查一下那年还发过什么。可空间里的动态只展示近几年的内容,手动翻回 2014 年不现实。GetQzonehistory 就是为此写的:一个用 Python 导出 QQ空间历史说说的工具,把十几年前的说说、转发和评论整理成 Excel 和网页,全程本地处理,登录只扫码、不输密码。

项目速览:30 秒看懂它能做什么

GetQzonehistory 是一个 Python 写的开源备份工具。它走 QQ 空间官方扫码登录接口拿到凭证,然后按页拉取"空间消息列表"里的历史互动,再补一份"未删除说说"做合并去重,最后把结果写成结构化文件放在本地目录。运行环境是 Python 3.9 以上,Windows、macOS、Linux 都能跑。核心能力有四条:扫码登录免密码、消息列表全量备份、未删除说说合并、Excel + HTML + 本地图片输出。

项目说明
项目GetQzonehistory,QQ空间历史说说导出工具
语言Python(pandas、BeautifulSoup、requests)
环境Python 3.9+,另需系统级 zbar 库
平台Windows / macOS / Linux
产物格式6 个 Excel、1 个 HTML 网页、1 个图片目录

跑起来:从克隆到启动的 3 步

第一步,拿项目、装依赖

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv source myenv/bin/activate pip install -r requirements.txt

这一段把仓库克隆下来,建好独立虚拟环境,并把 pandas、requests 等依赖一次装齐。Windows 上把第四行换成myenv\Scripts\activate

第二步,首次启动

python main.py

启动后终端会打印一串字符组成的二维码,用手机 QQ 扫码确认,登录流程会自动往下走。

第三步,确认输出位置(可选):结果目录由resource/config/config.ini[File]段的result字段控制,默认./resource/result/。想换位置只改这一个字段即可。

功能全景:扫码之后发生了什么

按"输入 → 处理 → 输出"的数据流走一遍。

输入:扫码登录与凭证缓存

登录模块 从空间登录服务器取二维码,在终端打印成 ASCII 码,你用手机 QQ 扫完确认后,程序拿到 cookie 并写入resource/user/目录,以 QQ 号命名。下次运行会列出已登录用户让你选序号,输入 0 才强制重新扫码。也就是说,二维码只需扫一次,重复运行或断点续跑都不必再走认证。

处理:从数总数到分页抓取

请求模块 先做一件有点绕的事:用二分法探消息列表的总条数,不断试不同偏移量看请求是否还有数据。确定总量后,主程序 开始每次 10 条地翻页,每个请求等 5 秒、每页再歇 3 秒,靠 tqdm 打印进度。每一页用 BeautifulSoup 解析 HTML,抽出发布时间、内容、图片链接,同时顺手把出现过的昵称、QQ 号、空间主页攒成好友表。

节奏看起来慢(约 8 秒 10 条),这是故意限速,几千条大约要一小时,让它挂着跑就行。中途按 Ctrl+C 也不会白跑:程序注册了信号处理,会把已抓到的数据先保存再退出。

消息列表抓完后还有第二路数据源:GetAllMomentsUtil 按每页 30 条拉取"未删除说说"接口,能覆盖到 2014 年之前的可见说说,再按内容比对和消息列表去重合并。消息列表够不到的部分,就是靠这步补上的。

输出:6 个 Excel、一个网页、一套图片

抓完后save_data按"条目里有没有你的昵称"以及"留言 / 转发"等关键词分流,写出六张表,把所有图片下载到本地(用说说内容命名,超 40 字符截断,重名自动加时间戳),最后用说说表和转发表渲染一个 QQ 空间风格的 HTML 网页:按时间倒序、QQ 表情还原成图片、缩略图自动换成高清、评论带头像。到这里,QQ空间历史说说的备份就完成了。

产物文件字段说明
QQ号_全部列表.xlsx时间 / 内容 / 图片链接 / 评论消息列表全部条目
QQ号_说说列表.xlsx时间 / 内容 / 图片链接 / 评论你自己发布的说说
QQ号_转发列表.xlsx时间 / 内容 / 图片链接 / 评论你转发的内容
QQ号_留言列表.xlsx时间 / 内容 / 图片链接好友给你留下的评论
QQ号_其他列表.xlsx时间 / 内容 / 图片链接列表里别人的说说
QQ号_好友列表.xlsx昵称 / QQ / 空间主页互动过的好友汇总
QQ号_说说网页版.html网页空间风格时间线,含评论

走一遍:一次完整的十年备份记录

设想一位 90 后用户,想找回 2012–2019 年的全部 QQ空间历史说说。

启动后终端先打出二维码,扫码确认,屏幕打印"用户<{QQ号},<昵称>>登录成功"。接着出现"正在获取消息列表数量"的二分查找进度条,每次探测都带 5 秒等待,大概几分钟结束。之后进入主循环,每 10 条提示一次"Pause for 3 seconds...",tqdm 显示整体进度。这段时间可以忙别的,别关终端就行。

若干分钟到一小时后(取决于条数),程序自动打开结果文件夹,并打印汇总:消息总数、最早一条说说的时间、好友数、说说数、转发数、留言数、图片数。目录长这样:

resource/result/ └── 12345678/ ├── 12345678_全部列表.xlsx ├── 12345678_说说列表.xlsx ├── 12345678_转发列表.xlsx ├── 12345678_留言列表.xlsx ├── 12345678_其他列表.xlsx ├── 12345678_好友列表.xlsx ├── 12345678_说说网页版.html └── pic/ # 全部说说图片

打开 HTML 就是一条像空间的时间线:你的头像、说说正文、图片,下面挂着带头像的每条评论。Excel 直接按年份筛选,"2014 年的所有说说"是一次过滤的事。如果还想把 2014 年之前的可见说说导出成 Markdown(图片也下载到本地、含转发和评论),再单独跑一次python fetch_all_message.py即可,产物在resource/fetch-all/

避坑指南:最常碰到的 3 个问题

⚠️ 以下三个基本覆盖了绝大多数报错现场。

启动即提示"无法找到 zbar 共享库"

症状:还没出现二维码,程序就打印"无法找到 zbar 共享库"并退出。原因:扫码用的 pyzbar 依赖系统级的 zbar 动态库,pip 装不上它。解法:先装系统库再重跑。Linux 执行sudo apt install zbar(dnf 系发行版用sudo dnf install zbar);macOS 执行brew install zbar,程序检测到 Homebrew 时也可以交互式自动安装。

反复出现"二维码已失效"或卡在认证中

症状:二维码刚打出来就失效,或者一直循环"二维码认证中"。原因:二维码有效期很短,超时没扫码确认就会失效;网络不稳定也会让轮询拿不到状态。解法:保证网络能正常访问 QQ 空间网页,二维码一出现就尽快在 2 分钟内扫完。登录成功一次后凭证缓存在resource/user/,重跑时选用户序号即可跳过扫码;输入 0 才是强制重新登录。

导出的时间线比预期短,"缺了几条说说"

症状:Excel 里最早的时间明显晚于记忆,自己发过的内容没出现。原因:主程序以空间消息列表为数据源,从未来过消息列表的说说(比如仅自己可见的)抓不到,这是数据源边界,不是 bug。解法:先确认空间设置里消息列表可见;再用python fetch_all_message.py导出可见未删除说说(含 2014 年前)的 Markdown 版本做对照。网络超时漏掉的个别条目属于正常现象,主程序按内容去重,重跑不会产生重复数据。

适合谁,能延伸出什么

对普通用户,最直接的收益是把散落十几年的记忆变成一套可存档的文件:HTML 相当于一个能离线翻的"第二空间",Excel 可以按年份筛出成长轨迹,甚至打印成册。

对偏技术和数据向的读者,这个仓库是个结构很干净的抓取小样本:扫码登录、二分探总数、分页限速、信号中断保存都是标准做法。导出的 Excel 也可以直接喂给情感分析或话题统计,做自己的数据实验。

和手动翻页的对比

维度GetQzonehistory手动翻页 / 截图
耗时自动跑完,几千条约 1–2 小时(含限速等待)一次看十来条,几千条要翻好几天
登录方式扫码一次,凭证本地缓存每次手动登录,反复输密码或验证
数据形态统一字段的 Excel + HTML + 图片目录零散截图,无法筛选统计
覆盖范围消息列表全部条目 + 可见未删除说说翻到哪里算哪里,容易漏
处理位置完全本地,数据不出本机停留在浏览器里,无法结构化留存

写在最后

说说是互联网上最早的时间线之一,把它变成机器可读的文件,比截图更耐用。

  1. 按上面的 3 条命令克隆仓库并装好依赖
  2. 运行python main.py,扫码完成第一次全量备份
  3. 打开resource/result/QQ号/,逐个检查 Excel 和网页版
  4. 需要 2014 年之前的内容,再跑一次python fetch_all_message.py补一份 Markdown

【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询