三分钟把QQ空间全部历史说说导出成Excel:GetQzonehistory完整使用指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
如果你担心多年积累的QQ空间内容某一天突然找不回来,那么 GetQzonehistory 这款免费开源工具值得放进你的备份清单。它可以把 QQ 空间的历史说说、转发的内容、好友留言和图片一键导出为 Excel 表格、HTML 网页和本地图片,帮你完成一次彻底的 QQ 空间数据归档。
整个过程只需要在本地电脑上跑一条命令,扫码登录后程序就会自动翻页抓取、分类整理,最后把结果文件夹直接打开给你看。下面是从安装到落地的完整走法。
3分钟跑起来:QQ空间说说导出的安装与启动步骤
整个安装流程就是标准的 Python 项目套路:拉代码、建虚拟环境、装依赖、跑主程序。
# 拉取项目代码 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 -r requirements.txt # 启动 python main.py启动后终端会打印一个二维码,用手机 QQ 扫码即可。登录成功那一刻,程序还会告诉你"用户<QQ号>登录成功",然后就开始自动干活了。
有两个小细节值得提前知道:
- Linux 用户:依赖包里的 pyzbar 需要系统的 zbar 共享库支持,RPM 系系统执行
sudo dnf install -y zbar,Debian/Ubuntu 系则装zbar相关包,否则扫码环节会报错退出。 - 不想装环境?项目的 release 页面提供打包好的单文件可执行程序,双击就能跑,适合不想折腾 Python 的朋友。
依赖方面,核心是 requests(发请求)、BeautifulSoup(解析 HTML)、pandas + openpyxl(生成 Excel)、qrcode + pyzbar(二维码生成与识别)、Pillow(图片处理),版本都在 requirements.txt 中锁死了,装好基本不会出兼容性问题。
导出文件说明:一次QQ空间数据归档会生成哪些产物
抓完数据后,程序会把结果按你的 QQ 号建一个文件夹(默认在 resource/result 目录下),并在结尾自动打开它。里面的东西大致长这样:
| 文件 | 内容 |
|---|---|
QQ号_全部列表.xlsx | 所有互动记录的汇总 |
QQ号_说说列表.xlsx | 你自己发布的原创说说 |
QQ号_转发列表.xlsx | 你转发别人的内容 |
QQ号_留言列表.xlsx | 好友给你空间的留言 |
QQ号_其他列表.xlsx | 归不进上面几类的互动 |
QQ号_好友列表.xlsx | 互动过的好友昵称、QQ号、空间主页 |
QQ号_说说网页版.html | 还原成类QQ空间网页版样式的可视化页面 |
pic/文件夹 | 说说里的全部图片,按内容命名 |
Excel 表格的列结构很朴素,就是四列:时间、内容、图片链接、评论,时间精确到秒,评论是结构化的(评论人、时间、内容都在里面)。网页版则会把 QQ 表情自动替换成表情图片,按时间倒序排好,图片支持点开看大图——适合直接发给家人回看。
图片文件会尝试拿高清链接(自动把缩略图 URL 换成大图规格),文件名用说说的内容生成,重名时自动加时间戳后缀,基本不会互相覆盖。
数据链路拆解:从扫码到Excel经历了什么
把整个流程拆成四步,逻辑其实很直白:
- 扫码登录:util/LoginUtil.py 负责和 QQ 官方登录接口打交道,拿到会话凭证(cookies)并缓存在 resource/user/ 目录下,以 QQ 号命名。第二次运行时直接选上次的账号即可,不用重复扫码。
- 分页抓数据:util/RequestUtil.py 模拟浏览器会话,分两路取数——一路走历史互动消息接口,每页 10 条、每页间隔 3 秒;另一路走说说列表接口(util/GetAllMomentsUtil.py),每页 30 条,能覆盖到未删除的全部说说,包括 2014 年之前的老内容。
- 解析与去重:util/ToolsUtil.py 负责清洗 HTML、处理特殊字符,重复内容会被过滤掉,不会在结果里出现两条一模一样的记录。
- 分类落盘:main.py 根据内容特征把记录分到原创、转发、留言、其他四个桶里,再统一写成 Excel、HTML 和图片文件。
所以如果你只想改输出格式(比如额外导一份 CSV),主要动 main.py 的保存逻辑;想调抓取节奏,就去改 main.py 里的分页大小和 sleep 间隔。模块之间通过 util/ 目录的函数边界交互,改起来不伤筋动骨。
本地化处理:QQ空间数据为什么可以放心备份
🔒 很多人对这类工具的第一反应是"我的账号和数据会不会过服务器",答案是不会:
- 没有中间服务器:所有请求都是你的电脑直接和 QQ 空间官方接口对话,解析、存储全在本地完成,不存在数据先上传到第三方再下载的情况。
- 走官方登录流程:登录用的是 QQ 标准扫码验证(qrcode + pyzbar 生成和识别二维码),全程不碰账号密码。
- 凭证只存本地:登录态缓存在 resource/user/ 的本地文件里,你删掉这些文件就等于彻底登出。
- 可控可删:导出的数据就在 resource/result/ 下,想备份到网盘、U盘或者删除,都是普通的文件操作。
一句话:它更像一台"私人归档机",而不是一个需要信任的在线服务。
三类实用场景:个人数据备份还能怎么用
个人归档与纪念。用了好几年QQ空间的人,说说里基本是一部私人编年史。导出的 Excel 加网页版组合,适合做年度回顾、整理某段时期的记忆,也适合作为长期电子档案。
轻量的自我数据分析。因为字段规整(时间 + 内容 + 评论),拿 pandas 做二次分析门槛很低:按月份统计发布频率、看不同年份的话题变化、统计哪些好友互动最多,都是十几行代码的事。
内容迁移。很多老博文、老照片散落在QQ空间里,导出的图片文件夹加 HTML 排版,可以直接作为博客迁移、数字遗产整理的素材库,比截图保存完整得多。
大批量抓取避坑指南:限速、中断与边界
⚡ 说说上万条的"老玩家"要注意这几点:
- 限速是故意的:消息列表每 10 条停 3 秒,这个节奏是用来规避平台频率限制的,不建议调快,账号被临时限制就得不偿失了。
- 中断了怎么办:程序注册了 Ctrl+C 的信号处理,你随时按中断键,已抓到的数据会先落盘成 Excel 再退出;说说列表一路的抓取结果也有本地 JSON 缓存,下次重跑会接着用。所以"抓了一半断网"不是灾难,重新运行即可。
- 图片下载量:图片是逐张下载的,图多的号耗时长属正常现象,
pic/文件夹大小可以提前心里有数。 - 拿不到的内容要心里有数:仅自己可见的说说、已经删除的内容,平台接口本身就不返回,工具无法变魔术;早期上传的图片质量以平台原始存储为准。
- 磁盘空间:依赖包加上图片缓存,预留几百 MB 到几 GB 比较稳妥,主要看你的图片量。
常见问题速答
Q:仅自己可见的说说能导出来吗?不能。工具的数据来源是空间可见的历史消息和说说列表接口,仅自己可见的内容不在接口返回范围内。
Q:导出过程中断网了,之前的进度会丢吗?不会。中断时已有数据会保存,重新运行后从缓存/断点继续,已处理的内容不会重复抓取。
Q:导出的文件用别的软件能打开吗?Excel 是标准 .xlsx,WPS、Google Sheets、LibreOffice 都能直接打开;HTML 是普通网页,任意现代浏览器可看。
Q:QQ 表情在表格里是一堆乱码标签吗?不是。程序会把 QQ 表情转成对应的表情图片(网页版直接渲染成图),特殊字符也会做转义,读起来和你在QQ空间看到的一致。
Q:会不会影响账号安全?工具走官方扫码登录、请求频率克制,正常使用风险很低;但它本质是模拟网页端行为,不建议在公共网络环境下长时间挂机抓取。
写在最后:谁该把 GetQzonehistory 用起来
如果你的QQ空间已经很久没打开过、或者你担心平台规则变化导致老内容消失,那么花三分钟跑一次 GetQzonehistory,把说说、图片、评论全部落到自己手里,是成本最低的一次个人数据备份。它对新手友好(扫码即开始、结果自动打开文件夹),对想二开的开发者也友好(模块边界清晰,改输出格式或加数据源都不难)——数字记忆值得由自己保管,而不是寄存在别人的服务器上。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考