QQ空间历史说说十分钟本地备份:GetQzonehistory 免密码导出教程
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
晚上换了新手机,翻回几年前的 QQ 空间,发现有些老说说打不开了,评论区也缺了几段。这正是该做 QQ空间备份 的理由:今天还看得见的数据,明天可能就不见了。GetQzonehistory 干的就是把 QQ空间说说导出 一整套——扫码登录一次、不输密码,你的历史说说、原图、评论、转发就会以 Excel 表格加网页版 HTML 的形式落到本地文件夹,全程只发生在你自己的电脑上。
开始之前:把环境一次搭好
想搞懂如何备份QQ空间说说,其实就四步命令。先确认 Python 版本,工具要求 3.6 及以上,在终端输入:
python --version这条命令只是打印已装版本号,没有它或低于 3.6 就先装好再说。接着把源码下载到本地并进入项目目录:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory装依赖前先建一个 venv(虚拟环境,相当于给 Python 单独隔出来的"独立房间",依赖装在屋里,不弄脏系统环境):
python -m venv myenv再按系统激活:
# Windows .\myenv\Scripts\activate # macOS / Linux source myenv/bin/activate提示符前出现(myenv)就说明进了新环境。最后一次性装依赖:
pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt它会读取requirements.txt里的依赖清单逐个安装,-i是走国内镜像加速,失败可去掉再试。工具免密码登录(官方二维码)、数据全程本地处理(不经过任何第三方)、登录态缓存在本地,这三点在环境搭建阶段就落实了,后面可以安心跑。
启动阶段:扫码即登录,然后看它干活
依赖装好,运行主程序:
python main.py程序启动后依次发生三件事:
- 生成登录二维码并打印在终端里,用手机 QQ 扫一下就行;
- 扫码后自动完成身份校验,终端会打印
用户<QQ号>,<昵称>登录成功; - 登录凭证写入
resource/user/目录,再次运行时直接输入序号选择已登录账号,输入 0 才重新扫码。
提示:扫码无反应时,多半是二维码已失效,重新运行
python main.py生成新码即可。
登录成功后就开始抓取,整体流程分五个阶段:
- 采集:每 10 条为一批,从 QQ 空间接口拉取历史互动消息,每批之后休息三秒(终端会打印 "Pause for 3 seconds..."),这是限速、不给服务器压力,不是卡死;
- 解析:把返回的 HTML 清洗一遍,拆出时间、内容、图片链接、评论等字段;
- 筛选:按"是谁发的"归类——你原创的说说、你转发的、好友留言、其他互动;
- 异常补充:再走一遍"可见说说"接口,把消息列表里可能遗漏的历史说说补回来;
- 整合:全部合并、去重,进入保存环节。
看到进度条慢慢走、3 秒提示反复出现,都属正常,耐心等就行。
收尾阶段:把导出成果拆给你看
跑完后程序会自动打开resource/result/你的QQ号/文件夹,并打印每类数据的条数。里面的文件是:
| 文件 | 内容 | 适合拿来做什么 |
|---|---|---|
QQ号_说说列表.xlsx | 你的原创说说:时间、内容、图片链接、评论 | 写回忆录、做发布数据分析 |
QQ号_转发列表.xlsx | 你转发过的内容 | 清点"我转过什么" |
QQ号_留言列表.xlsx | 好友在空间留下的留言 | 收藏好友祝福与互动 |
QQ号_其他列表.xlsx | 其他互动内容 | 完整存档 |
QQ号_好友列表.xlsx | 互动好友:昵称、QQ、空间主页 | 梳理社交关系 |
QQ号_全部列表.xlsx | 上述内容汇总 | 一次看全 |
QQ号_说说网页版.html | 网页样式时间线,还原头像与评论 | 离线浏览、发给家人 |
pic/目录 | 说说配图原图,按内容关键词命名 | 照片永久保存 |
Excel 用 Excel、WPS 直接打开,也能交给 Python 的 pandas(一个数据处理库,可以理解成"会读 Excel 的统计工具")做二次加工:比如按年份统计发布频率,或者找出你最常在深夜发说说的那几个时段。不想碰表格的话,双击 HTML 文件用浏览器打开即可,版式、头像、评论都还原了,发给家人离线翻看正合适。
还有一个安心的细节:中途手动按Ctrl+C中断,程序会先把已抓到的数据落盘再退出,不白跑。
卡点速查:高频报错怎么解
第一次跑遇到波动很正常,按现象对号入座:
| 现象 | 可能原因 | 解法 |
|---|---|---|
| 扫码后提示"登录失败:请重新登录" | 网络波动或手机 QQ 未在线 | 确认手机 QQ 在线,重新运行生成新二维码 |
| "无法找到 zbar 共享库" | macOS/Linux 缺 zbar 图像识别依赖(用于解码终端二维码) | macOS 用brew install zbar;Linux 按发行版安装(如sudo dnf install zbar) |
| 抓取中途没有新数据 | 接口限制或网络不稳 | 直接再次运行,登录态已缓存,自动续抓 |
| 图片下载不全或失败 | 部分图片链接已失效 | 从 Excel 里的图片链接手动补下载,检查pic/目录权限 |
| 依赖安装报错 | Python 版本过旧或网络问题 | 确认 Python ≥ 3.6,先python -m pip install --upgrade pip再装 |
善后清单:备份完成后的四件事
- 清理登录缓存:备份完成后,删除
resource/user/里以你 QQ 号命名的凭证文件; - 加密存储:把导出文件夹压缩并设置密码,或放进加密盘;
- 多份备份:本地一份、移动硬盘一份,双份才踏实;
- 守住边界:本工具仅限个人学习与数据备份,不要用于商业或侵犯他人隐私的场景。
跑完一遍,你的 QQ空间数据本地存档 就齐了,记忆不再挂在某个接口上。现在打开终端,把上面的命令走一遍,扫一次码,剩下的交给程序。源码全部开放,每个环节都可以自己核对:
- 主程序入口:main.py
- 可见说说补充抓取:fetch_all_message.py
- 登录模块(二维码与缓存):util/LoginUtil.py
- 请求模块:util/RequestUtil.py
- 可见说说解析:util/GetAllMomentsUtil.py
- 数据清洗与 HTML 模板:util/ToolsUtil.py
- 路径配置读取:util/ConfigUtil.py
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考