3步找回QQ空间全部历史说说:GetQzonehistory保姆级上手指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
五年前的说说从QQ空间里找不到了。GetQzonehistory通过扫码登录自动抓取历史说说,并导出为本地Excel和图片,全程无需输入密码。
📌 GetQzonehistory适合谁:一句话定位
- 它是什么:一个批量导出QQ空间历史说说的Python小工具
- 它给你谁用:想给自己QQ空间做完整备份的普通用户
- 它解决什么:空间没有官方批量导出入口,旧说说被隐藏或删除后难以找回
🕳️ 为什么要导出QQ空间说说:常见痛点场景
- 旧说说找不到:几年前的说说在主页翻不到,也没有按年份检索的入口
- 没有批量导出:官方只能一页一页翻,几百条说说无法一次搬走
- 数据丢失风险:说说被误删或账号异常后,内容无法自行恢复
- 图片难留存:说说图片不支持批量下载,逐张截图画质受损
- 互动记录分散:好友的评论和昵称散落在每条说说里,难以集中查看
🔐 安全疑问:扫码登录与数据流向怎么设计
登录方式:不输密码,只扫二维码
程序会请求QQ官方登录接口生成二维码,并在终端里直接以字符形式打印出来,你用手机QQ扫码登录即可。整个过程不询问QQ号和密码;登录凭证(cookie,可理解为登录后的身份票据)会保存在本地,下次运行时若仍有效就免扫码。
数据流向:文件都落盘在你的硬盘上
抓取到的消息、生成的Excel和图片,全部只写入你本地项目目录下的resource/result/文件夹,不会上传到任何第三方服务器。程序与网络的全部交互就是拉取你自己空间的消息列表和下载图片,等同于你正常浏览QQ空间时的请求。
📦 核心功能全景:说说导出会产出什么
说说怎么抓:两个来源合并
- 按每批10条分页拉取空间历史消息列表,批与批之间间隔3秒
- 同时拉取可见且未删除的说说列表(包含2014年之前的内容)
- 两个来源自动去重合并,已删除但仍留在消息列表里的说说也能被找回
数据怎么分类:自动拆分成多个Excel
- 说说、转发、留言按内容自动归类到各自独立的Excel文件
- 好友列表汇总每位互动好友的昵称、QQ号和空间主页地址
- 生成网页版HTML,浏览器打开即可还原QQ空间的时间线排版
图片怎么存:自动下载并改名
- 每条说说里的图片逐张下载到 pic/ 目录,文件名取自说说正文
- 重名时自动追加时间戳,避免图片被覆盖
- 网页版里的中图链接自动替换为高清图
🚀 快速上手:GetQzonehistory三步跑起来
第一步:克隆项目代码
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory克隆完成后进入项目根目录,后续命令都在这里执行。
第二步:建虚拟环境并安装依赖
python -m venv myenv source myenv/bin/activate pip install -r requirements.txtWindows 用户激活虚拟环境改用myenv\Scripts\activate,依赖共11个包,一次性装完。
第三步:运行程序并扫码
python main.py终端会打印一个字符二维码,用手机QQ扫码登录;扫码成功后程序自动开始抓取,结束后会自动打开结果目录。
📁 导出文件在哪查看:产出物与目录结构
运行完成后,所有结果按QQ号存放在resource/result/你的QQ号/下:
resource/result/你的QQ号/ ├── 你的QQ号_全部列表.xlsx # 全部历史消息的完整记录 ├── 你的QQ号_说说列表.xlsx # 你发布的说说:时间、内容、图片链接、评论 ├── 你的QQ号_转发列表.xlsx # 你转发的内容 ├── 你的QQ号_留言列表.xlsx # 好友的留言 ├── 你的QQ号_好友列表.xlsx # 互动好友的昵称、QQ号、空间主页 ├── 你的QQ号_其他列表.xlsx # 其他互动消息 ├── 你的QQ号_说说网页版.html # 网页版时间线,支持图片预览 └── pic/ # 下载好的说说图片程序结尾还会打印总条数、最早一条说说的发布时间、好友数和图片数,方便你核对这次导出的完整性。
🗺️ 代码地图:每个文件负责什么
- main.py — 主入口,协调登录、消息抓取、两源合并与全部文件生成
- fetch_all_message.py — 独立入口,只抓可见未删除说说并生成Markdown版
- util/LoginUtil.py — 二维码获取、扫码轮询与会话保存
- util/RequestUtil.py — 封装空间接口请求与全局请求头
- util/GetAllMomentsUtil.py — 分页拉取可见未删除的说说列表
- util/ConfigUtil.py — 读取config.ini,管理缓存目录与登录会话
- util/ToolsUtil.py — HTML模板、表情替换等通用函数
- resource/config/config.ini — 缓存、会话、结果三个路径的配置
🧭 进阶玩法:导出数据还能怎么用
单独全量抓取:运行python fetch_all_message.py,可拉取全部可见未删除说说(含2014年之前),原始JSON会缓存在resource/fetch-all/,并生成带高清图的所有可见说说.md,适合做原文存档。
定期增量备份:会话已保存在本地,隔几个月重跑一次python main.py即可重新合并导出,对比两次打印的说说总数就能看出新增了多少条。
互动关系分析:Excel列结构统一(时间、内容、图片链接、评论),直接按年份筛选,可以看出自己哪一年最活跃、和哪些好友互动最多。
HTML纪念册:网页版由模板渲染而来,修改其中的CSS与字体,就能做成一本排版个性化的说说相册。
⚙️ 常见坑点与调优:导出慢、登录失败怎么办
- Linux报zbar缺失:二维码解码依赖zbar共享库,Linux需先安装(如
sudo dnf install -y zbar),macOS可用brew安装,程序会引导操作。 - 二维码不出现或过期:重新运行
python main.py获取新码,并在有效期内尽快扫码。 - 抓取速度慢:每批10条且间隔3秒是防风控设计,数据多时耐心等待,不要中途关掉终端。
- 中途断开了:按 Ctrl+C 会触发信号处理,已抓取的数据会先写盘保存,不会白跑。
- 部分说说找不到:仅自己可见、或未进入消息列表的说说抓不到,这是平台侧限制,不是程序缺陷。
- 登录失效:本地会话过期后程序会自动回到扫码流程,重新扫一次即可。
- 预留磁盘空间:数百条说说加图片可能占用数百MB,先确认磁盘余量再开始。
❓ 高频问答:说说导出常见疑问
- 问:需要QQ密码吗?答:不需要,全程走官方扫码登录,不经过密码。
- 问:导出文件在哪查看?答:在
resource/result/你的QQ号/目录,程序结束后会自动打开该文件夹。 - 问:删除的说说能找回吗?答:还留在历史消息列表里的可以找回,消息列表里没有的就无法获取。
- 问:某一批抓取失败会中断吗?答:该批会跳过并继续下一批;网络不稳时建议等网络恢复后重跑。
- 问:可以换账号使用吗?答:会话和结果都按QQ号分开存放,切换账号重新扫码即可。
🚧 使用边界:合规声明
本工具仅供学习和技术研究使用,使用时请遵守QQ空间服务条款及相关法律法规。 只备份自己账号的数据,不要用于商业用途,也不要抓取或传播他人的隐私内容。
结语
五年前那条找不到的说说,很可能还在消息列表里等着被找回。 跑通上面三步,完整的空间档案就会落在本地磁盘,随时可以打开核对。 第一次导出后,定期重跑一次就能持续增量备份,让记忆不再依赖平台的存档。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考