news 2026/9/20 20:11:27

GetQzonehistory:QQ空间历史说说全量备份与Excel导出完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GetQzonehistory:QQ空间历史说说全量备份与Excel导出完整指南

GetQzonehistory:QQ空间历史说说全量备份与Excel导出完整指南

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

十年前的说说,为什么需要一份档案副本

你翻手机相册,突然意识到:2015 年发的那条说说、底下朋友留的评论、那年夏天拍的照片,全都还悬在云端。平台一改版、账号一有状况,你手里只剩几张对不上号的截图。GetQzonehistory 就是干这件事的开源工具——把 QQ 空间历史说说完整备份下来:手机扫一次码,可见的说说、评论、图片全部落到本地硬盘,直接产出能搜索的 Excel 和双击就能翻的网页版。

它替你把几件烦心事一次性解决了:

  • 手动翻页是对耐心的考验:网页版一次只露几条,翻回 2014 年要点几千次"上一页"。这个工具直接走接口批量取数,先把总量算出来再一口气取完。
  • 图片链接是会过期的:网页上的图隔段时间就失效,说说一被删,连字带图全没。工具取文字的同时把图片下载进本地pic/目录,服务端删了原始文件,你的硬盘里还有一份。
  • 截图堆是一堆查不了的东西:上百张截图想找"去年夏天那条",只能一张张看。导出的 Excel 拆成时间、内容、图片链接、评论四列,敲个关键词就能定位。
  • 中途断掉不用从头再来:断网或者你手动掐掉进程,它都会先把已经取回的数据写盘再退出。
  • 不用反复扫码:第一次登录成功后 cookie 缓存到本地,下次启动列出账号列表,输个序号直接接着用。

原理拆解:登录、算量、抓取三连招

整个项目就是一条流水线:扫码登录 → 估算总量 → 两路取数 → 分类落盘,具体模块见 README.MD,目录不长:

GetQzonehistory/ ├── main.py # 主入口:登录→抓取→落盘 ├── fetch_all_message.py # 第二入口:说说导出 Markdown ├── requirements.txt # 依赖清单 └── util/ ├── LoginUtil.py # 扫码登录、cookie 缓存 ├── RequestUtil.py # 消息列表请求、二分估算总量 ├── GetAllMomentsUtil.py # 说说分页(每页30条) └── ToolsUtil.py # HTML 解析、表情还原、网页模板

第一招:扫码登录,相当于领一张档案室的"借阅证"。向登录接口要一张一次性二维码,用黑白字符块画在终端里,屏幕就是取件窗口;程序每 3 秒问一次状态,直到读到"登录成功"。这张证有有效期,过期了删掉缓存文件重扫,没过期下次输序号直接进门。cookie 明文放在resource/user/,约等于把借阅证搁在接待台上,别把这个目录扔进网盘同步。

第二招:消息总量是"翻到中间看看"估出来的,像估一本书有多少页。服务端不直接报消息列表的总条数,程序就从 0 到一千万的中间位置发一次请求:有数据说明量比这大,没有说明比这小,区间一轮轮收窄,二十几轮锁定总量:

total = (lower_bound + upper_bound) // 2 if "li" in response.text: lower_bound = total + 1 # 有内容,总量往大了找 else: upper_bound = total - 1 # 没内容,总量往小了找

第三招:两路数据像档案员"抽卷宗"一样慢慢取。第一路是消息列表,一次取 10 条、间隔 3 秒,整体节奏和一个人慢慢刷页面差不多,不容易触发风控;第二路是说说分页接口,一页 30 条,把你没删的可见说说全取回来(含 2014 年之前的老内容)。两路取完后按作者归属去重合并:你发的进"说说",你转的进"转发",你评论别人说说的进"留言",其余的归"其他"。图片顺手也复制一份,存进pic/

安装与首次运行:三步跑通

① 取代码、建虚拟环境、装依赖,一个命令块全搞定(虚拟环境不污染系统 Python):

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python3 -m venv myenv && source myenv/bin/activate # Windows 用 myenv\Scripts\activate pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt

⚠️ 上面命令带了阿里云镜像源,国内网络快;能直连官方源可以去掉 -i 参数。

② 装系统级 zbar 库,解码二维码要用,缺了它第一步就报错:

sudo dnf install -y zbar # Ubuntu/Debian 用 sudo apt install -y zbar;macOS 用 brew install zbar

③ 跑起来,终端先打出二维码字符块,手机 QQ 扫码确认,之后自动开始抓取:

python main.py

跑之前可以用一条自检命令确认环境和依赖都齐了:python -c "import requests, pandas, qrcode, pyzbar, bs4, openpyxl; print('依赖OK')"

导出产物长什么样

所有产物都落在resource/result/{QQ号}/(程序自动建目录),temp、user、result 三个路径统一由配置文件控制,逻辑见 ConfigUtil.py:

文件内容
{QQ号}_全部列表.xlsx消息列表全量:时间/内容/图片链接/评论
{QQ号}_说说列表.xlsx只留你自己发的说说,已去重
{QQ号}_转发列表.xlsx你转发的内容
{QQ号}_留言列表.xlsx你留给别人说说的评论
{QQ号}_其他列表.xlsx其他好友涉及你的动态
{QQ号}_好友列表.xlsx列表里出现过的好友:昵称、QQ号、空间主页
pic/全部图片的本地副本
{QQ号}_说说网页版.html仿空间样式的本地网页,双击翻阅,点图自动换高清

因为是"消息列表 + 可见说说"两路数据合并,导出里既有你自己发的,也有别人关于你的记录。收尾时终端还会打印一句统计:共几条、最早一条发于哪天、好友几个、图片几张。

踩坑速查表:最常见的五种报错

现象大概率原因一条命令解决
启动报"无法找到 zbar 共享库"系统库没装sudo dnf install -y zbar(按系统换 apt/brew)
终端只有乱码看不到二维码字体不支持 ASCII 字符块直接打开resource/temp/QR.png扫图片
登录失败:请重新登录缓存 cookie 过期删掉resource/user/里对应账号文件,再跑python main.py
长时间停在"获取消息列表数量"二分每轮都要发请求耐心等;太久就 Ctrl+C 退出(数据已保存)再跑python main.py
pic/里少了几张图个别图片请求失败重跑python main.py,cookie 还在不用重扫

⚠️ 本工具仅供学习和技术研究,别拿数据做商业用途,也尊重平台规则与别人的隐私。

跑通之后:两个进阶玩法

把档案变成纯文本,塞进 Obsidian。跑第二个入口python fetch_all_message.py,会在resource/fetch-all/下生成所有可见说说.md,图片同步下载并用本地路径引用,评论和转发保留为引用块,直接当博客素材用。

多账号轮换备份。resource/user/会攒下多个账号的 cookie,启动时列出"已登录用户列表",输序号复用;输0就重新扫码切到另一个号。结果按 QQ 号分目录存放,互不覆盖。

再往后就是自由发挥了:用 pandas 读一下_说说列表.xlsx,按年份统计自己哪年话最多、哪个季节拍的照片最密集——这份备份才算真正"用起来"。

一次 QQ 空间说说备份的成本,就是一次扫码加一次等待。文字、图片、评论分列存放,可检索、可筛选、可二次加工;Excel 负责分析,网页版负责翻阅,机器和人各取所需,数据从头到尾只躺在自己的硬盘上。

接口会换地方,页面会改版,但硬盘里那份副本不会过期。

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

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

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

猫抓扩展使用教程:如何嗅探网页视频并下载到本地

猫抓扩展使用教程:如何嗅探网页视频并下载到本地 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(Cat-Catch&#xff0…

作者头像 李华
网站建设 2026/9/20 20:10:37

Dijkstra算法详解:从图论原理到C++课程设计实战与答辩指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 20:05:44

Rocky Linux 部署 Hermes Agent 与 Web-UI 完整实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 19:59:57

AD/Pads/Allegro三款PCB设计软件核心差异与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华