news 2026/8/24 17:10:14

一键备份QQ空间历史说说:GetQzonehistory 完整使用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一键备份QQ空间历史说说:GetQzonehistory 完整使用教程

一键备份QQ空间历史说说:GetQzonehistory 完整使用教程

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

GetQzonehistory 是一个开源工具,能把一个 QQ 账号在空间里发布的历史说说、图片、评论和好友信息批量抓下来,在本地归档成 Excel、HTML 和 Markdown 文件。如果你的空间积累了几年内容,值得花十分钟给它留一份副本。

为什么要单独备份空间说说

平时我们很少碰自己的空间,直到某次想翻两三年前的动态才发现:消息列表一翻,老内容越来越难找,手动截图既慢又不全。截图备份有几个绕不开的问题:

  • 只能存文字和图片,时间线、评论这些上下文全丢了
  • 手动操作无法保证一条不落
  • 图片链接过期后,连截图里的原图都可能失效

GetQzonehistory 的思路是模拟登录空间网页版,把接口返回的数据完整落到本地文件里,相当于给账号做了一次"冷备"。工具仅用于学习和个人数据留存,别拿来做别的事。

三条命令跑起来:克隆、装依赖、执行

准备工作很常规,只需要 Python 3。

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

Linux 和 macOS 用户注意:扫码识别依赖 zbar 这个系统库,没有的话程序启动时会提示安装方式(比如sudo dnf install -y zbar),装上再运行即可。

requirements.txt里的核心依赖就是 requests、beautifulsoup4、pandas、qrcode 这几个,作用分别是发请求、解析网页、写 Excel 和渲染二维码。

扫码登录这一步是怎么运作的

运行main.py后,终端会直接在命令行里打印出一个 ASCII 二维码,用手机 QQ 扫一下、确认登录,整个过程不需要输入密码。

登录相关的逻辑都放在 LoginUtil.py 里,流程可以概括为:

  1. 向 QQ 登录接口申请一个一次性二维码(同时会存一份图片到resource/temp/QR.png,终端显示异常时直接打开这张图扫)
  2. 程序轮询登录状态:未失效 → 认证中 → 登录成功
  3. 成功后把登录凭证(cookie)按 QQ 号存进resource/user/目录

这个设计带来一个很实用的好处:下次运行不用重新扫码。再次启动时如果resource/user/里已有登录记录,程序会列出已登录的账号让你选序号,输入 0 则重新走扫码流程。也就是说,你给多个账号分别备份一次,之后可以轮流复用各自的登录态。

它到底抓了什么:两个数据源

数据获取分两条线进行,对应 GetAllMomentsUtil.py 和主程序里的消息列表循环:

数据源抓取方式特点
历史消息列表每次取 10 条,逐页往前翻,每页间隔 3 秒覆盖面广,包含互动记录
未删除的可见说说每页 30 条按偏移量翻页,直到取完按总数精确分页

两条线的数据会做去重合并,再补上图片下载和评论整理。

有个边界要说清楚:凡是消息列表和说说列表里本身不存在的内容(比如设置成仅自己可见的说说),工具同样拿不到——它只能"看到"你空间里可见的部分。

数据去哪儿了:七个产物文件

全部抓取结束后,程序会在resource/result/你的QQ号/下生成一套完整档案,并自动打开该文件夹方便检查:

文件内容
{QQ号}_全部列表.xlsx消息列表 + 说说的合并总表(时间 / 内容 / 图片链接 / 评论)
{QQ号}_说说列表.xlsx只含自己发布的说说
{QQ号}_转发列表.xlsx自己转发的内容
{QQ号}_留言列表.xlsx自己在别人空间的留言
{QQ号}_其他列表.xlsx好友等其他人的动态
{QQ号}_好友列表.xlsx昵称、QQ 号、空间主页链接
{QQ号}_说说网页版.html按网页版样式还原的本地页面,图片自动换成高清原图

另外pic/子目录存放所有下载的说说图片,文件名取说说正文开头,重名时自动加时间戳。

还有一个细节值得提:程序注册了中断信号处理,你按 Ctrl+C 提前终止时,已经抓到的部分数据会被正常保存,不会白跑。

想要更顺眼的存档?跑 Markdown 版

如果你更喜欢直接阅读而不是翻表格,项目里还有一个独立入口 fetch_all_message.py:

python fetch_all_message.py

它专门抓取全部可见且未删除的说说(能覆盖到 2014 年之前的老内容),输出到resource/fetch-all/目录,包含:

  • 所有可见说说.md:每条说说带发布时间,转发内容用引用块标出,评论逐条列出
  • 说说配图全部下载到同目录,Markdown 里直接引用
  • 原始 JSON 会留作缓存,重复运行时不用重新拉全量数据

Excel 版和 Markdown 版不冲突,两个都跑一遍,等于同一份数据两种归档格式。

配置只有一个文件:config.ini

全部可调项集中在resource/config/config.ini,结构很轻,只有一个[File]段,控制三个路径:

[File] temp = ./resource/temp/ # 二维码等临时文件 user = ./resource/user/ # 登录凭证缓存 result = ./resource/result/ # 导出结果

程序首次运行会自动创建这些目录。登录凭证只保存在你自己电脑的resource/user/下,按 QQ 号命名,管理多账号时认准它。

常见问题速查

症状原因处理办法
启动时报"无法找到 zbar 共享库"缺少系统扫码库按终端提示安装(Linux 装 zbar,macOS 可走 Homebrew),装完重跑
终端里没有二维码部分终端渲染 ASCII 图会乱码直接打开resource/temp/QR.png扫码
提示"二维码已失效"二维码有时效,没及时扫重新运行,会生成新码
跑一半断了手动 Ctrl+C 或网络波动不用慌,已抓数据已落盘;重新运行即可
备份结果缺一些说说那些内容在消息/说说列表里本就不存在(如仅自己可见)属正常边界,见前文说明
Excel 打开乱码或失败文件还在写入中等程序跑完再看;确认openpyxl已安装

上手建议

第一次跑main.py时别急着关终端,把进度条放完,检查resource/result/里的文件是否齐全;老内容多的账号再补跑一次fetch_all_message.py,拿到 Markdown 版本。两份档案一份表格一份文档,以后想查哪条说说,本地搜索就行,不用再惦记线上还有没有。

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

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

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

基于SpringBoot的仓库租赁管理系统(源代码+文档+PPT+调试+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/8/24 17:03:56

SwiftOpenAI Response API实战:比Chat Completions更强大的新一代API

SwiftOpenAI Response API实战:比Chat Completions更强大的新一代API 【免费下载链接】SwiftOpenAI The most complete open-source Swift package for interacting with OpenAIs public API. 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftOpenAI Swif…

作者头像 李华