GetQzonehistory 使用指南:快速导出QQ空间全部历史说说
2026/8/22 19:44:10 网站建设 项目流程

GetQzonehistory 使用指南:快速导出QQ空间全部历史说说

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

你翻到过2014年的老说说吗?QQ空间网页版时间线只保留最近一两年,再早的内容基本翻不出来,想打包带走更无从下手。GetQzonehistory 解决的就是这件事:模拟登录你的QQ空间,把账号下所有可见的历史说说、图片和评论批量导出成本地 Excel、Markdown 和网页文件,做完一次完整的QQ空间数据迁移。

🎯 为什么值得一试:备份老说说的四个理由

  • 老说说能捞回来:接口按页翻页抓取,2014 年前的可见说说也在范围里,不用手动一条条翻。
  • 图片评论一起走:图片直接存进本地 pic/ 文件夹,评论整条保留,不怕图片链接哪天失效。
  • 结果自动分类:一次跑出"全部、说说、转发、留言、其他"五张 Excel 表,外加一张好友列表。
  • 多份备份形态:Excel、Markdown、网页三种格式,HTML 双击就能翻,适合长期存档。

🚀 三步装好它:从克隆到跑通

动手前确认三件事:

  1. 已装 Python 3(3.9 以上即可,仓库自带 3.12 虚拟环境)
  2. Linux 先装 zbar(终端解析二维码用):sudo dnf install zbar;macOS 用 brew install zbar
  3. 准备一个能正常扫码的 QQ 号

安装步骤:

  1. 克隆仓库:git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
  2. 创建虚拟环境并激活:python -m venv myenv,Windows 运行 myenv\Scripts\activate,macOS/Linux 运行 source myenv/bin/activate
  3. 安装依赖:pip install -r requirements.txt(共 11 个库)
  4. 运行主程序:python main.py,终端出现二维码,手机 QQ 扫码即可

跑通后,设置入口在 resource/config/config.ini,只控制 temp、user、result 三个目录的位置:

[File] temp = ./resource/temp/ user = ./resource/user/ result = ./resource/result/

🛠️ 功能实战:四个最实用的动作

扫码登录:密码不碰,Cookie 自己存

第一次运行,终端里直接打印 ASCII 二维码,对着屏幕用手机 QQ 扫即可。扫完自动算好 cookies 存进 resource/user/,下次运行会列出已登录账号让你选,多账号切换不用重扫。请求接口用的 g_tk 签名由 p_skey 简单哈希得出:

def bkn(pSkey): t, n, o = 5381, 0, len(pSkey) while n < o: t += (t << 5) + ord(pSkey[n]) n += 1 return t & 2147483647

实现见 util/LoginUtil.py。

全量抓取:翻遍整个时间线

独立入口 fetch_all_message.py 按每页 30 条调消息接口,把你账号下所有可见、未删除的说说翻完;中间结果落盘缓存,中断重跑不用从头来。最后产出一份"所有可见说说.md",文字、高清图、转发原文和全部评论都在。抓取逻辑在 util/GetAllMomentsUtil.py。

分类导出:五张表自动分堆

主程序把消息列表过一遍,按昵称区分自己的说说、转发、收到的留言和其他内容,落盘成五张 Excel 表;图片链接逐条下载存进 pic/,文件名自动截断防重名。中途按 Ctrl+C,信号处理会先把已抓到的部分保存。入口在 main.py。

网页版还原:老空间装进一个 HTML

表导完还会渲染一份网页版:头像、QQ 表情、评论都还原,图片地址自动从小图改写成大图,看到的是高清原图。双击"说说网页版.html",浏览体验和当年的空间一致。页面模板与表情替换见 util/ToolsUtil.py。

🔍 原理速览:它到底爬了什么

它不开浏览器,全程用 requests 模拟网页请求。登录走官方 ptlogin2 的二维码流程:取码、轮询、校验签名三步拿到 cookie;抓取主打下一个接口——user.qzone.qq.com 的消息列表,请求签名 g_tk 由 cookie 里的 p_skey 哈希得出,响应是 JSONP,剥掉回调壳再解析。代码按职责分层:util/ 下登录、请求、抓取、配置、模板各占一个文件,落盘数据统一放在 resource/ 的 config、temp、user、result 四个子目录,整体流程就是"扫码登录→分页取消息→解析分类→存表、图、网页":

💬 遇到问题去哪里问

  • zbar 缺失、二维码扫不上、macOS 适配问题:直接去 GitHub 仓库 LibraHp/GetQzonehistory 的 Issues 区翻帖子或提问
  • 作者在 B 站有完整食用教程视频(账号 1117414477),扫码登录逐步演示
  • README 明说"代码有很多疏漏",欢迎提 PR 补功能、提 Issue 报 bug

只想备份自己老说说的,扫码跑一遍 main.py 就完事;想要纯文字存档,换 fetch_all_message.py 出 Markdown。下一步打开 resource/result/ 目录,看看自己这些年攒了多少东西。

提醒:工具依赖 QQ 空间网页接口,接口或登录流程变动可能使其失效;请只导出自己账号的数据,保留代码里的默认请求间隔,不要用它批量抓取他人内容。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询