QQ空间说说去哪儿了?用 GetQzonehistory 把历史发帖全部导出来
2026/9/20 10:49:46 网站建设 项目流程

QQ空间说说去哪儿了?用 GetQzonehistory 把历史发帖全部导出来

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

几年前在 QQ 空间发的说说,现在想翻一翻,只能一页页往前刷,老图片还经常打不开。想留个底,靠手动截图显然不现实。GetQzonehistory 是一个开源工具,把你空间里的历史说说(正文、图片、评论)批量导出到自己电脑上:扫码登录、一条命令跑完,产出是一组 Excel、一个图片目录和一份能直接打开回看的网页时间线。

这个工具适不适合你

适合你,如果……不适合你,如果……
想把本人空间的历史说说、图片、评论批量存下来想抓取别人的空间,或需要"仅自己可见"的说说
终端里敲几条命令没问题只想要全图形界面、全程点鼠标
能接受按数据量跑半小时到几小时要求几分钟出完整结果

三步跑起来:从克隆到扫码登录

环境要求很低,对着这张表确认就行:

项目最低推荐
系统Windows 10 / macOS / Linux桌面环境,网络正常
Python3.7+3.9+
系统依赖zbar 库(识别二维码用,Linux/Mac 需装)装环境时一起装好
磁盘几百 MB 空闲空间用了多年的,留 2 GB+

下面这段命令一次性完成克隆项目、建隔离虚拟环境、装依赖:

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv # 建虚拟环境,避免弄乱系统 Python source myenv/bin/activate # Windows 用户改为 .\myenv\Scripts\activate pip install -r requirements.txt

首次运行有一个关键交互——扫码登录。执行下面的命令后,终端里会直接打印出二维码:

python main.py

用手机 QQ 扫一下,终端提示"登录成功"后就开始抓数据了。登录状态会存到resource/user/目录,第二次运行时只需在"已登录用户列表"里选序号就能复用,输入 0 才重新扫码。

提示:首次运行卡住时先看两处——终端有没有打印"登录二维码获取成功"(没有就是网络问题);登录状态是不是反复跳到"二维码已失效"(重新跑一遍命令拿新码,别拖太久)。

导出结果长什么样:多份 Excel + 时间线 + 图片

我只想导出发帖记录

主流程分三步走:先估算互动消息的总条数,再每 10 条一批拉取消息列表,最后单独拉一遍"未删除说说"列表(这条通道能覆盖 2014 年之前的内容,是消息列表够不到的部分)。全部完成后,结果写到resource/result/你的QQ号/下:

resource/result/12345678/ ├── 12345678_全部列表.xlsx # 全部互动消息:时间/内容/图片链接/评论 ├── 12345678_说说列表.xlsx # 你自己发的说说 ├── 12345678_转发列表.xlsx # 你的转发 ├── 12345678_留言列表.xlsx # 别人给你的留言 ├── 12345678_好友列表.xlsx # 互动涉及的好友:昵称/QQ/空间主页 ├── 12345678_其他列表.xlsx # 其他涉及你的内容 └── 12345678_说说网页版.html # 网页版时间线

每份表的列都很直白:时间、内容、图片链接、评论。用 Excel 打开就能按年份筛选、按关键词搜,是真正的结构化数据。

我想批量把图片都拿下来

保存结果的同时,程序会把每条说说里的图片全部下载到pic/文件夹,文件名取说说内容(截断到 40 字符),重名的自动加时间戳。十年的说说跑完,就是一个现成的个人相册。

我想要一份能打开回看的时间线

说说网页版.html把你的说说和转发合并、按时间倒序排列,连评论和高清配图一起渲染好,浏览器打开就能翻。这一步由main.py里的render_html完成;核心抓取逻辑在util/RequestUtil.pyutil/GetAllMomentsUtil.py,想深入看就从这两个文件入手。

我想把说说带进笔记软件

项目自带第二个入口,只做"拉取未删除说说"这一步,并把结果整理成 Markdown、图片存到同一目录:

python fetch_all_message.py

产出在resource/fetch-all/下,一份所有可见说说.md:每条说说不落小节,带图片引用、转发的原文和评论回复。这个文件夹丢进 Obsidian 或任何静态博客目录就能用。

⚡ 跑多久、怎么让它跑得稳

这个项目没有暴露"性能配置"——请求节奏写死在代码里(每批 10 条约休息 8 秒),所以调优重点在网络环境和下面三个开关:

  • 改保存位置resource/config/config.ini[File]段里有tempuserresult三个路径。改之前:结果默认落在项目目录里,C 盘容易被撑满;改之后:把result指到空间大的数据盘,其余不用动。
  • 复用登录态:改之前:每次运行都要重新扫码、重新请求 cookie;改之后:第二次运行直接在"已登录用户列表"里选序号,省掉整个登录环节。
  • 复用说说缓存:未删除说说数据首次拉取后会写进resource/fetch-all/下的 JSON,再次运行直接读缓存。想强制重新拉取,删掉对应缓存文件再跑即可。

耗时大致参考(含图片下载,因网络而异):

你的说说规模大致耗时主要花在
1000 条以内半小时左右统计总条数这一步就要三四分钟
1000–3000 条1–2 小时图片是逐张串行下载
3000 条以上2–3 小时起图片越多下载越久

两条实操建议:用有线网络,避开晚 8–10 点的高峰;跑的过程中看起来"卡住"别强杀进程,按一次Ctrl+C,程序会捕获中断并把已抓到的数据保存下来,白干重来是最亏的。

🔍 踩坑速查:症状 → 原因 → 解法

怎么都装不上

启动报"无法找到 zbar 共享库"原因:pyzbar需要系统级 zbar,pip 装不了。 解法:Linux 用发行版包管理器装(如sudo dnf install zbar);macOS 执行brew install zbar并按屏幕提示操作。

pip 安装依赖超时原因:网络访问 PyPI 不稳。 解法:换国内镜像,pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

跑了一半卡死了

"正在获取消息列表数量"走了三四分钟原因:程序在二分查找消息总条数,每轮一次请求加休息。 解法:不是卡死,正常等待,统计完会打印总条数。

抓了一半想停原因:手动中断。 解法:按一次Ctrl+C,程序自动保存已有数据后退出,下次运行登录态还能复用。

结果看起来"不对"

"仅自己可见"的说说没导出原因:工具走的是消息列表和可见说说两个通道,私密内容本就不在其中。 解法:这是数据边界,不是 bug,接受即可。

第二次运行,新说说没更新原因:未删除说说部分读了本地缓存,不会重新拉取。 解法:删掉resource/fetch-all/下对应的 JSON 缓存再跑。

权限与安全

二维码没扫完就失效原因:二维码有有效期。 解法:重新运行命令换新码,终端保持在可见位置。

cookie 文件是敏感文件原因:resource/user/里存的就是登录凭证,等同你的空间登录态。 解法:不要把项目文件夹整个分享给别人,备份到外盘时注意别误传网盘。

🧩 玩出花样:把备份排进日程

最实用的进阶玩法是"定时全量备份 + 异地复制":每周跑一次完整流程,再把结果拷到外置硬盘或云存储:

import subprocess, shutil, schedule, time def backup_job(): subprocess.run(["python", "main.py"]) # 跑完整导出 shutil.copytree("resource/result", "/backup/qzone", dirs_exist_ok=True) # 复制到外盘或云盘目录 schedule.every().sunday.at("03:00").do(backup_job) while True: schedule.run_pending() time.sleep(60)

另一个搭配:把fetch_all_message.py产出的 Markdown 导入 Obsidian,说说直接变成可全文搜索的笔记,所有可见说说.md本身就是"一条一节 + 评论清单"的结构,零转换成本。

想改时间线的样式也不用碰抓取逻辑,入口在util/ToolsUtil.pyget_html_template,改那里的 CSS 和帖子模板就行。

🛡️ 丑话说在前头:四条红线

  • 只导出自己的空间。工具走单账号扫码登录,别想着改造去抓别人的数据;
  • 导出的数据仅限个人回看和存档,不做商业用途,不二次分发;
  • resource/user/里的登录态文件不分享、不上传公开仓库;
  • 请求节奏受代码控制,不要为了"快点跑完"去高频轰接口。

收尾:先存到外置硬盘

GetQzonehistory 的价值很简单:把只能翻页的说说,变成能长期保存、可以搜索的 Excel、图片和网页。别折腾复杂方案,先完整跑一次python main.py,成功后把resource/result/整个文件夹拷一份到外置硬盘;之后每季度再跑一次增量,就够用了。

延伸阅读:

  • README.MD:项目说明、目录结构和安装备注
  • util/:登录、抓取、解析的源码目录,二次开发从这里开始
  • LICENSE:许可证条款

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

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

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

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

立即咨询