news 2026/8/22 16:39:46

GetQzonehistory:一键完整导出QQ空间历史说说,5分钟把翻不到的旧动态搬回本地

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GetQzonehistory:一键完整导出QQ空间历史说说,5分钟把翻不到的旧动态搬回本地

GetQzonehistory:一键完整导出QQ空间历史说说,5分钟把翻不到的旧动态搬回本地

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

打开QQ空间往后翻几屏就见底了,十年前写下的那条说说再也翻不出来。GetQzonehistory 是一个开源 Python 工具,通过扫码登录批量拉取你的QQ空间历史说说、转发和评论数据,导出成 5 个 Excel 表格加 1 个网页版,并把说说里的图片全部下载到本地,整个备份过程在电脑上完成,扫码就能跑。

工具速览:它能替你做什么

GetQzonehistory 面向想找回旧说说但不想手动截图整理的普通用户。它基于QQ空间的消息列表接口,把已经"翻过去"的动态(包括已删除的说说)按时间、内容、图片链接、评论四列结构化导出。和常见做法相比,它有三个实际差别:

  • 对比手动截图:不用一条条点开、拍照、重命名,几千条动态由脚本自动分页抓取,图片按内容命名后存进pic/目录
  • 对比第三方付费工具:完全开源、数据全程不离开你的电脑,扫码登录不走密码
  • 对比自己翻空间:能拿到消息列表里保留、但空间主页已看不到的旧动态,还能顺带整理出好友列表和网页版时间线

快速上手:QQ空间说说备份安装步骤

📌 环境要求:Python 3.9+(本项目虚拟环境为 3.12),Windows、macOS、Linux 均可。

# 克隆项目 git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory # 创建并激活虚拟环境 python -m venv myenv # Windows:.\myenv\Scripts\activate # macOS/Linux:source myenv/bin/activate # 安装依赖 pip install -r requirements.txt # 运行 python main.py
  1. ✅ 启动后终端会打印一个 ASCII 二维码,用 QQ 扫码登录(提示缺少 zbar 共享库时,Linux 执行sudo dnf install -y zbar,macOS 执行brew install zbar
  2. ✅ 登录成功后自动开始抓取,进度条按"10条/批"推进,每批间隔 3 秒
  3. ✅ 看到"导出成功"提示后,程序会自动打开结果文件夹

💡 不想配 Python 环境的话,也可以到项目 release 页下载打包好的单文件版本直接运行。

导出文件说明:你会得到什么

所有结果保存在resource/result/你的QQ号/目录下,结构如下:

文件内容字段
QQ号_全部列表.xlsx消息列表中的全部记录时间、内容、图片链接、评论
QQ号_说说列表.xlsx你自己发布的说说时间、内容、图片链接、评论
QQ号_转发列表.xlsx你转发的内容时间、内容、图片链接、评论
QQ号_留言列表.xlsx好友给你的留言时间、内容、图片链接
QQ号_好友列表.xlsx互动中出现的好友昵称、QQ、空间主页
QQ号_其他列表.xlsx好友发布的说说时间、内容、图片链接
QQ号_说说网页版.html还原时间线的网页版头像、评论、高清图片
pic/说说中的所有图片按内容文本命名(限 40 字符,重名自动加时间戳)

数据行示例(说说列表.xlsx):

时间内容图片链接评论
2016年06月08日 12:30:22小明:终于熬过期末了🎓http://img.qzone.example/abc.jpg[('2016年06月08日 13:01:05','毕业快乐!','小花','88231')]

网页版会把原图链接从小图自动替换为高清版本,QQ 表情码[em]也会转成图片标签,双击打开即可像翻空间一样浏览。

工作原理:从扫码到导出的完整流程

整体流程分四步:扫码登录拿到 cookie → 用二分查找确定历史消息总条数 → 每批 10 条分页拉取消息列表并解析出时间、内容、图片、好友信息 → 再用当前可见说说(每页 30 条,含 2014 年之前数据)做补充,两者通过内容比对去重后分类导出。

各模块职责(位于 util/ 目录):

  • main.py:主程序,协调全流程,导出后自动打开结果目录
  • util/LoginUtil.py:生成并解码登录二维码,cookie 按 QQ 号存入resource/user/
  • util/RequestUtil.py:二分估算消息总量、分页请求历史消息
  • util/GetAllMomentsUtil.py:抓取当前可见说说与高清图片链接,结果缓存为 JSON
  • util/ToolsUtil.py:HTML 十六进制解码、表情转换、is_any_mutual_exist去重判断
  • util/ConfigUtil.py:读取配置、初始化 temp / user / result 目录

安全与可靠性设计:

  • 本地处理:请求只发往QQ空间官方接口,抓到的数据全部落盘在本机
  • 扫码登录:不经过密码,cookie 本地保存;再次运行时可选择已登录账号,输入 0 重新扫码
  • 限速防风控:消息列表每批 3 秒间隔,可见说说每页 0.02 秒间隔
  • 中断恢复:按 Ctrl+C 或进程被 kill 时,信号处理器会先保存已抓到的数据再退出;可见说说走 JSON 缓存,重跑不重复请求

实用建议与常见问题

实用建议

  1. ⏱ 说说每批 3 秒,5000 条约需 25 分钟以上,看到进度条在动就别关窗口
  2. 🖥 预留 1GB 以上磁盘空间,图片全部落地到pic/
  3. 导出结束后终端会打印各列表条数,对照核对一下再归档
  4. 建议每年重跑一次,第二次执行会命中缓存,速度明显更快
  5. resource/user/里的 cookie 文件等同于账号会话,备份时注意不要外传

常见问题

  • 问:为什么个别特别早的说说查不到?工具以空间消息列表为主数据源,从未进入过消息列表的动态(如仅自己可见的早期说说)无法恢复,这是平台侧限制,不是抓取遗漏。
  • 问:换了电脑还要重新扫码吗?需要。cookie 保存在原电脑的resource/user/,把该目录拷过去并选对应账号即可免扫码;多账号可一次导出多个。
  • 问:中途断网或误关了程序,之前抓的白干了吗?不会。异常退出前已抓数据会被保存,且可见说说有本地缓存,重跑会接着补。

开始你的第一次备份

  1. 克隆项目:git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
  2. 按上文命令建好虚拟环境并安装依赖
  3. 运行python main.py,用 QQ 扫码登录
  4. 等待进度条走完,程序自动打开resource/result/你的QQ号/
  5. 抽查 Excel 条数与pic/图片是否齐全
  6. 把整个 result 目录归档到移动硬盘或网盘,每年重复一次

翻不到不等于不存在——把导出文件核对完,这次备份就正式完成了。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 16:38:42

竞赛数学建模论文写作心法:从摘要到模型检验的完整实战指南

1. 从零到一:竞赛数学建模论文的完整心法与实战拆解如果你正在为“竞赛数学建模论文”这几个字感到焦虑,或者正对着空白的Word文档和一堆数据无从下手,那么这篇分享或许能给你带来一些不一样的思路。我参加过不少数学建模竞赛,从校…

作者头像 李华
网站建设 2026/8/22 16:37:28

UE5动态刀光与连击窗口系统:从Niagara粒子到动画蓝图实战

在 UE5 中为角色动作添加视觉反馈,尤其是武器轨迹和攻击特效,是提升游戏打击感和表现力的关键环节。一个常见的需求是,当主角执行连击动作时,武器挥动路径上能出现动态的刀光粒子效果,并且这个效果能智能地根据角色的朝…

作者头像 李华
网站建设 2026/8/22 16:34:14

DEMATEL因素关系结果解读:影响关系图与因素分类

DEMATEL因素关系分析结果解读一、方法概述决策试验与评价实验室法(Decision Making Trial and Evaluation Laboratory, DEMATEL)由美国学者Fontela和Gabus于1971年在日内瓦大学提出,是一种基于矩阵运算的多因素关系分析方法。该方法通过构建因素间的直接影响矩阵&am…

作者头像 李华
网站建设 2026/8/22 16:33:04

Go方法:值接收者vs指针接收者

TL;DR 核心要点速览 Go编译型语言,执行速度比Python快10倍 Goroutine初始栈2KB,比线程轻100倍Channel是Go并发通信的核心原语GMP调度器自动管理goroutine调度Go标准库覆盖HTTP/JSON/加密等常用场景本篇是Go入门模块,建议按顺序学习 摘要:Go方法详解,值接收者vs指针接…

作者头像 李华
网站建设 2026/8/22 16:32:56

链表相加(二):高位优先结构与递归进位原理

1. 这道题为什么让很多人卡在“理解”这一步?“链表相加(二)”——光看标题,你可能以为只是把两个链表数字加起来,写个while循环就完事了。但实际刷过题的人知道,它真正卡人的地方根本不是代码实现&#xf…

作者头像 李华