GetQzonehistory:三分钟把QQ空间历史说说存回本地
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory 是一款把 QQ 空间历史说说备份到本地的开源工具,扫码登录后自动抓取说说、转发、留言和图片,整理成 Excel 表格和可离线浏览的网页版。想给空间回忆做一次完整存档的人,无需编程基础就能跟着跑通。
一、它能做什么:一次运行出 6 张表格加 1 个网页版
- 历史说说全部结构化落盘:时间、内容、图片链接、评论分列存放
- 六张 Excel 表格按类别拆分:全部、说说、转发、留言、其他、好友
- 一个离线网页版 HTML,双击即可翻阅,无需联网
- 配图自动下载到本地,并自动升级为高清版本
- 数据只写入你自己的硬盘,全程不出本机
二、QQ空间说说数据导出准备:环境与依赖安装
项目是纯 Python 编写,Windows、macOS、Linux 三个平台都能跑。整个环境搭建就是下面这一段命令,直接复制执行:
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 -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt python main.py问题:依赖包下载很慢或装不上?解决:上面命令已内置阿里云镜像源,如果仍然超时,重跑一次 pip install 那一行即可,也可以换成其他国内镜像源再试。
问题:启动时报"无法找到 zbar 共享库"?解决:缺的是二维码识别的系统级依赖。Fedora 系执行sudo dnf install -y zbar,Debian/Ubuntu 执行sudo apt install libzbar0;macOS 上 登录模块 会检测 Homebrew 并提示一键安装,照着回车就行。
三、👉 从扫码登录到跑通第一次运行
登录走官方二维码流程:程序在终端打印二维码,用手机 QQ 扫一扫即完成,全程不需要输入密码。登录态以 Cookie 形式缓存在resource/user/目录,下次运行会先列出已登录账号让你选择,不用反复扫码。
抓取阶段有进度条,按每批 10 条推进,批次之间停顿几秒——这是刻意的限速设计,用来降低触发平台风控的概率,慢一点属于正常现象。中途想停就按Ctrl+C,程序会先把已抓到的数据保存下来再退出,这个中断保护逻辑写在 main.py 的signal_handler里,跑一半退出也不白干。
问题:扫码后提示二维码失效、一直没反应?解决:先确认系统时间准确、手机 QQ 在线,重新运行生成新二维码;如果刚被安全策略拦截,等几分钟再试,避免多个设备同时登录同一个空间账号。
问题:抓到的条数比空间里看到的少?解决:工具读取的是空间历史消息列表,不在消息列表里的内容(比如仅自己可见的说说)天然拿不到。留意控制台是否有报错批次,网络稳定时再跑一遍可以补上遗漏。
四、导出结果逐项拆解:六张表格、网页版与高清图
跑完一轮后,所有产出都落在resource/result/你的QQ号/目录下,逐项说明:
QQ号_全部列表.xlsx:抓到的全部消息汇总,时间、内容、图片链接、评论一应俱全QQ号_说说列表.xlsx:你自己发布的说说QQ号_转发列表.xlsx:你转发过的每一条内容QQ号_留言列表.xlsx:空间留言板上的互动QQ号_其他列表.xlsx:朋友在你空间产生的互动消息QQ号_好友列表.xlsx:好友昵称、QQ 号、空间主页地址
QQ号_说说网页版.html:离线翻阅版。说说和转发按时间倒序排列,还原了头像、昵称、发布时间、正文、配图与评论区,QQ 表情也做了还原,断网双击就能看。
pic/目录:所有配图自动下载在这里,文件名直接取自说说内容,一眼认出是哪条动态。抓取时图片链接已被替换为高清版本,不会只留下一堆模糊缩略图。
五、拿到数据之后:pandas 统计与定时备份
数据落到本地后,二次利用的空间就打开了。
统计你每年发了多少条说说:Excel 的列名是时间、内容、图片链接、评论,几行 pandas 代码就能算出年度分布:
import pandas as pd df = pd.read_excel('12345678_说说列表.xlsx') df['时间'] = pd.to_datetime(df['时间'], format='%Y年%m月%d日 %H:%M:%S') print(df['时间'].dt.year.value_counts().sort_index())再往深了做,还能统计高频词、配图数量变化,把空间变成一份个人年度报告。
配置定时任务做增量备份:Linux/macOS 在 crontab 里加一行每月执行一次,Windows 用任务计划程序同样可以,往后的新说说也会被持续收进这份档案。
六、安全设计与使用边界
这类工具最先该关心的是安全,GetQzonehistory 的几处设计值得注意:
- 全程本地处理:抓到的数据只写入你的硬盘,不经过任何第三方服务器
- 扫码免密登录:不收集、不保存 QQ 密码,
resource/user/下的本地 Cookie 不放心可随时删除重登 - 开源可审查:登录、请求、解析逻辑分别在 util/LoginUtil.py、util/RequestUtil.py、util/GetAllMomentsUtil.py,每一步都能自己核对
- 缓存隔离:请求缓存按 QQ 号存放在
resource/fetch-all/下,多账号互不干扰
把话说在前面:项目自带免责声明,工具仅供学习与技术研究,不得用于商业或非法用途。备份的是"你自己的"空间内容,别拿去采集他人数据,尊重平台规则和他人的隐私,这是使用任何工具的前提。
现在就跑一遍
别等回忆找不到了才动手:
- 克隆 GetQzonehistory,按上面"环境与依赖"一节的命令装好环境
- 运行
python main.py,扫码完成登录 - 等进度条走完,进
resource/result/你的QQ号/翻一翻这份档案 - 跑顺手的话,把这份 QQ 空间历史说说备份教程转给也想存档的朋友
数据落在自己硬盘上之后,"以为它还在"就再也不是问题。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考