news 2026/8/22 11:14:24

GetQzonehistory:把 QQ 空间历史说说批量备份为 Excel 与 HTML 的本地开源工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GetQzonehistory:把 QQ 空间历史说说批量备份为 Excel 与 HTML 的本地开源工具

GetQzonehistory:把 QQ 空间历史说说批量备份为 Excel 与 HTML 的本地开源工具

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

GetQzonehistory 是一个本地运行的 Python 脚本,通过模拟扫码登录 QQ 空间,按批次抓取账号内的历史互动消息与可见说说,最终在本地生成 Excel 和 HTML 两份备份文件。所有数据不经过任何第三方服务器,适合想给自己多年的空间内容做一次离线存档的用户。

弃用账号前,如何把旧空间内容完整带走

不少人计划注销或长期弃用 QQ,但空间里几年的说说、照片还留着。手动复制既慢又容易漏,而注销操作一旦执行,内容就找不回来了。GetQzonehistory 的思路是趁账号还能登录,把互动消息列表和可见说说不分页地拉取下来,一次导出成可长期保存的表格和网页文件,之后无论账号发生什么变化,本地文件都还可用。

图片和评论失效之前,如何把它们保存下来

QQ 空间图片走的是 CDN 链接,年代久远的图片 URL 随时可能失效,评论、点赞数据也只存在于网页接口里。这个工具会把每条说说附带的原图逐张下载到本地文件夹,评论则结构化地写进 Excel 的对应列里。换句话说,它同时解决"文字在、图没了"和"正文在、评论区空了"这两个常见问题。

快速上手

环境要求 Python 3.9 以上。下面这条命令完成克隆仓库、创建虚拟环境并安装依赖:

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

依赖只有 requests、BeautifulSoup、pandas 等常见库。安装完成后运行主程序:

python main.py

程序会显示一个二维码,用手机 QQ 扫码确认即可,全程不需要输入密码。登录成功后自动开始抓取,每批请求之间固定间隔 3 秒,控制台会实时显示进度条和已处理条数。说说较多的账号需要等待一段时间,属正常现象。

数据是怎么被抓下来并落盘的

GetQzonehistory 工作流程图,展示登录、抓取、解析、导出四个环节:

整个过程分为四步:

  • 登录:程序在本地生成登录二维码,扫码成功后把会话凭证缓存在resource/user/目录。下次运行可直接复用已登录的账号,不必重复扫码。
  • 抓取:以"互动消息列表"为主数据源,该接口天然支持分页。程序先查询消息总条数,再按每批 10 条循环拉取;随后由 util/GetAllMomentsUtil.py 翻页补齐"仅自己可见"的说说,减少遗漏。
  • 解析:返回的 HTML 交给 BeautifulSoup 解析,逐条提取发布时间、正文、图片链接与评论,并顺带收集消息中出现的好友昵称和 QQ 号。
  • 落盘:按身份把数据分类——本人的说说、转发、留言和他人的动态分别写入不同 Excel;同时渲染一份网页版 HTML,并把所有图片下载到本地目录。

备份结果包含哪些文件

QQ 空间说说备份的导出结构,结果统一放在resource/result/<你的QQ号>/下:

  • QQ号_全部列表.xlsx:抓到的全部动态,按时间、内容、图片链接、评论四列组织。
  • QQ号_说说列表.xlsx:本人发布的说说,最常用的那份。
  • QQ号_转发列表.xlsx:本人转发的内容。
  • QQ号_留言列表.xlsx:本人在他人空间的留言。
  • QQ号_其他列表.xlsx:消息流里出现的他人动态,相当于互动记录存档。
  • QQ号_好友列表.xlsx:抓取过程中收集到的好友昵称、QQ 号与主页链接。
  • QQ号_说说网页版.html:按时间倒序还原的静态网页,保留头像、昵称、QQ 表情图标与图片,可直接归档、投屏回顾或打印成纪念册。
  • pic/:所有说说的原图,文件名取说说正文片段,便于对号入座。

进阶用法

📌 拿到 Excel 之后,用 pandas 做二次加工比在表格里手动筛选方便得多。下面这段用于筛出某一年的说说并导出为 CSV:

import pandas as pd df = pd.read_excel("resource/result/你的QQ号/你的QQ号_说说列表.xlsx") df["时间"] = pd.to_datetime(df["时间"], format="%Y年%m月%d日 %H:%M") df[df["时间"].dt.year == 2016].to_csv("say2016.csv", index=False)

列名以实际导出文件为准;同样的读法可以换成关键词检索、按年份统计发帖频率等处理。

📌 如果想定期补一次备份,可以在 Linux/macOS 上用 crontab 设置每月运行一次:

0 2 1 * * cd /path/to/GetQzonehistory && ./myenv/bin/python main.py

需要注意的是,登录态会过期,长期无人值守时任务可能退化成反复等待扫码。更现实的用法是把定时任务当作每月提醒:脚本跑起来后补扫一次码,即可增量补抓新动态。

常见问题与隐私提示

  • 二维码失效:扫码窗口期较短,过期后重新运行main.py生成新的二维码即可。
  • 抓不到某些说说:已删除、或设为仅自己可见且未出现在互动消息里的内容,现有接口拿不到,属预期行为而非故障。
  • 不要调小请求间隔:main.py 中批与批之间的 sleep 是频控手段,调小间隔可能触发 QQ 风控,导致登录态被重置。
  • 凭证文件要管好resource/user/下缓存的会话凭证等同有效登录态,备份完成后建议删除该目录,或对整份备份加密存放。
  • 仅备份自己账号:本工具设计用途是备份本人数据,请勿用于抓取他人空间内容。

延伸阅读

  • util/LoginUtil.py:二维码登录与会话缓存的实现。
  • util/RequestUtil.py:分页拉取互动消息列表的接口封装。
  • util/GetAllMomentsUtil.py:补齐仅自己可见说说的分页逻辑。
  • resource/config/config.ini:缓存、结果等目录路径的配置入口。

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

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

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

C语言链接库

1.库的定义当使用别人的函数时除了包含头文件以外还要有库Linux系统存储库的位置一般在/lib或/usr/lib库文件&#xff1a;通俗讲将用户写好的程序打包形成一个整体&#xff1b;当其他用户或其他模块使用时&#xff0c;只要有这个库文件就可以&#xff0c;不需要源代码。也可以理…

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

C++左值与右值深度解析:从内存模型到移动语义实战

1. 从一次“诡异”的赋值错误说起几年前&#xff0c;我在调试一个性能要求极高的C数据处理模块时&#xff0c;遇到了一个让我百思不得其解的问题。代码逻辑看起来毫无破绽&#xff0c;但在一个看似简单的赋值操作后&#xff0c;程序的行为变得飘忽不定&#xff0c;时而正常&…

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

ESGUI V2.0.0:Python脚本快速打包成独立GUI应用与分发指南

1. 先搞清楚 ESGUI V2.0.0 到底解决了什么问题如果你在找一款能快速把 Python 脚本或算法包装成图形界面的工具&#xff0c;ESGUI 的 V2.0.0 版本值得你花时间了解一下。这个版本的核心不是增加花哨的功能&#xff0c;而是解决了一个很实际的问题&#xff1a;让一个原本只能命令…

作者头像 李华
网站建设 2026/8/22 11:10:10

免费装好 Plus Jakarta Sans 开源字体:4 步走完最短上手路径

免费装好 Plus Jakarta Sans 开源字体&#xff1a;4 步走完最短上手路径 【免费下载链接】PlusJakartaSans Jakarta Sans is a open-source fonts. Designed for Jakarta "City of collaboration" program in 2020. 项目地址: https://gitcode.com/gh_mirrors/pl/P…

作者头像 李华
网站建设 2026/8/22 11:10:02

C++模板编程:从泛型思想到实战应用全解析

1. 项目概述&#xff1a;为什么C模板是绕不开的硬骨头但凡写过一段时间C&#xff0c;尤其是接触过标准库或者一些开源框架&#xff0c;你一定会对vector<int>、map<string, MyClass>这类写法感到既熟悉又困惑。熟悉是因为天天用&#xff0c;困惑是当你想自己写一个…

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

GitHub开源工具箱:从选型到实战,打造高效开发运维利器

在实际开发、运维、学习过程中&#xff0c;我们经常需要处理各种琐碎但必要的工作&#xff1a;查看系统信息、测试网络、转换格式、下载文件、管理进程、分析日志。如果每个任务都去寻找一个独立的工具&#xff0c;不仅效率低下&#xff0c;也容易让工作流变得碎片化。一个集成…

作者头像 李华