☰
QQ空间说说备份完全指南:3 步把历史说说和图片搬进硬盘
2026/10/16 1:34:23 网站建设 项目流程

QQ空间说说备份完全指南:3 步把历史说说和图片搬进硬盘

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

GetQzonehistory 是一款免费开源的 Python 小工具。你用手机扫一次码登录,它就能把你 QQ 空间的历史说说、评论和图片逐条抓下来,自动存成本地 Excel 表格,还能顺手生成一个可以浏览的网页版。下面分 3 步带你装好它、跑通第一次导出,并处理新手最容易卡住的几个问题。

第一步:安装 GetQzonehistory

先确认电脑里有 Python(3.x 以上即可),其余依赖都在项目里写好了清单,不需要额外装环境。

克隆代码并进入目录:

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory

推荐用虚拟环境,避免依赖装到系统 Python 里。Windows 下执行:

python -m venv myenv .\myenv\Scripts\activate

macOS / Linux 下执行:

python -m venv myenv source myenv/bin/activate

然后安装依赖(走国内镜像,速度会快很多):

pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt

装完先别急着运行,还差一个系统级依赖zbar。登录二维码的解析要靠它,缺了会在启动时直接退出:

  • Linux(Fedora 等 RPM 系发行版):sudo dnf install -y zbar
  • macOS:首次运行时脚本检测到 Homebrew 会问你要不要自动安装,输入y回车即可,它会自动装好并配好链接

另外,如果你完全不想碰命令行,项目的 release 页面有打包好的单文件可执行程序,下载直接双击运行也行。

第二步:首次运行:扫码登录,等待抓取

就一条命令:

python main.py

接下来的流程长这样:

  1. 终端里会打印一个二维码(ASCII 字符画),用手机 QQ 的扫一扫登录 QQ 空间。
  2. 终端每隔几秒刷新一次二维码状态(未失效 / 认证中 / 已失效),看到"登录成功"就说明进来了。
  3. 登录状态会按 QQ 号存成文件,放在resource/user/目录。下次再运行会列出已登录的账号让你选序号,输入 0 则重新扫码——想备份多个账号就靠它切换。
  4. 登录成功后,程序先用二分查找估算你的消息总条数,再按每批 10 条拉取互动历史,每批之间会暂停。因为内置了请求间隔,消息越多越慢:1000 条以上的话,光抓取阶段就要 15 分钟起。
  5. 消息抓完后,它会继续按每页 30 条拉取全部"未删除的可见说说",这部分能覆盖到 2014 年以前的内容。

两个新手容易忽略的点:

  • ⏳ 抓取期间别关终端。中途改主意按 Ctrl+C 也没关系,程序注册了信号处理,会把已经抓到的数据直接保存导出,不会白跑。
  • 全部完成后,终端会打印统计信息(消息总数、最早一条说说的时间、好友数、各列表条数、图片数),并自动打开结果文件夹。

第三步:认识结果文件夹里的文件

所有导出都在resource/result/下、以你 QQ 号命名的文件夹里:

文件内容
全部列表.xlsx消息列表里的全部互动内容:时间、内容、图片链接、评论
说说列表.xlsx你自己发布的说说(含图片链接)
转发列表.xlsx你发布过的转发内容
留言列表.xlsx好友给你留下的留言
其他列表.xlsx出现在你消息列表里、别人发的说说
好友列表.xlsx消息列表中出现过的好友:昵称、QQ 号、空间主页
pic/ 文件夹说说里的图片全部下载下来,按说说内容命名
说说网页版.html说说加转发按时间倒序合并成的网页

其中那个 HTML 值得专门看一眼:QQ 表情会被渲染成真正的表情图,图片链接自动换成高清版,每条评论保留头像和发布时间,点任意图片还能新开标签页看原图——相当于在你的硬盘里存了一份"永不过期的自己的说说动态页"。

只想要 Markdown 版?换用 fetch_all_message.py

主程序给的是 Excel 加网页。如果你更习惯纯文本归档,项目提供了第二个入口:

python fetch_all_message.py

它会抓取全部可见且未删除的说说(含 2014 年之前),逐张下载图片,最后生成一份所有可见说说.md:每条说说带发布时间、图片、被转发的原文,以及评论列表(评论人、QQ 号、内容、时间都有)。

首次运行会把分页数据缓存到resource/fetch-all/(样本msg-one.json、全量msg-all.json),再次运行直接读缓存、不重复请求。想抓最新数据的话,把这两个缓存文件删掉再运行即可。

遇到问题怎么办

提示"无法找到 zbar 共享库",程序直接退出?这是系统缺 zbar。Linux(RPM 系)执行sudo dnf install -y zbar;macOS 按提示用 Homebrew 自动安装。装完重跑。

二维码过期了?终端打印"二维码已失效"后,这个码就作废了。重新运行python main.py会生成新码。

显示"登录失败,请重新登录"?说明之前存的登录状态(cookie)不再有效。在选择已登录用户的界面输入 0 重新扫码,或删掉resource/user/里对应的账号文件再登录。

想换导出位置?编辑 resource/config/config.ini,[File]段里的temp、user、result分别是缓存、登录状态和导出结果的存放路径,改成任意你喜欢的目录。

为什么有说说没抓到?工具只能看到你账号能看到的东西。设为"仅自己可见"的说说不会出现在消息列表里,自然拿不到;已经删除的说说也不在"未删除列表"中。这是数据来源的边界,不是程序故障。

中途断了、想续上?随时按 Ctrl+C,程序会保存并导出抓到的部分数据,不会丢。

数据与合规:用之前先读

  • 所有数据——登录状态、缓存、导出结果——都只写在你本地的resource/目录下,程序不会把你的任何数据上传到第三方服务器。
  • GetQzonehistory 完全免费,以 GPL v3 协议开源,作者还在 B 站放过使用教程视频。
  • 项目免责声明说得很清楚:工具仅供学习和技术研究,不得用于商业或非法用途;请尊重 QQ 及其他人的隐私与版权。拿它给自己空间的十年老存档做个备份很合适,但不要未经授权去抓别人的信息。

想读源码?从这里入手

  • main.py:主流程,登录 → 计数 → 分页抓取 → 解析 → 导出
  • util/:五个工具模块。util/LoginUtil.py 管扫码登录,util/RequestUtil.py 管消息请求,util/GetAllMomentsUtil.py 管未删除说说,util/ConfigUtil.py 管配置和多账号,util/ToolsUtil.py 放 HTML 模板与解析小工具
  • fetch_all_message.py:Markdown 导出的独立入口
  • requirements.txt:完整依赖清单

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

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

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

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

立即咨询