QQ空间历史说说备份指南:扫码登录,一次导齐Excel、网页与图片
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory 解决 QQ空间历史说说 备份的具体问题:扫码登录后,从空间消息列表抓取早年说说的原文、配图和评论,最终产出 6 张 Excel 表、1 个网页版 HTML 和一个按正文命名的图片文件夹。
适合谁用:QQ空间说说备份的适用边界
先说结论:它只适合备份自己账号的历史说说,做个人档案用。
- 适合:想把账号多年的说说、配图、评论一次性存成本地文件的人;想要一份可离线翻阅时间线的人
- 不适合:想抓他人空间数据的,请求全部走你自己的登录态,技术上也只取自己的消息列表
- 边界:设为"仅自己可见"、从未出现在消息列表里的说说取不到;拉取节奏是每批 10 条、请求后等 5 秒、批间再停 3 秒,消息量大时全量跑完要数小时,别指望几分钟出结果
运行环境清单:Python版本与跨系统差异
环境要求不高,核对完这份清单就能装:
- Python 3.9 及以上(pandas 2.2.3 是最低要求的硬约束),3.10/3.11 最稳妥
- 11 个第三方依赖,版本全部锁死在 requirements.txt:requests、pandas、openpyxl、beautifulsoup4、Pillow、qrcode、pyzbar、tqdm、pyarrow、fake-useragent、chardet
- macOS / Linux 额外要装 zbar 共享库(pyzbar 的依赖):RPM 系 Linux 跑
sudo dnf install -y zbar;macOS 用brew install zbar,程序检测到 Homebrew 时会提示是否自动装;Windows 若提示缺 zbar,按终端提示装对应共享库 - 激活命令有系统差异:Windows 在 cmd/PowerShell 里跑
myenv\Scripts\activate;macOS / Linux 在终端里跑source myenv/bin/activate - 不想搭 Python 环境:README.MD 提到 release 页有打包好的单文件,可直接执行
操作步骤:克隆、装依赖、启动三步走
第 1 步:克隆仓库
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory这步会看到:目录里出现 main.py、fetch_all_message.py、util/ 和 requirements.txt,克隆即完成。
第 2 步:建虚拟环境并装依赖
python -m venv myenvWindows 激活:
myenv\Scripts\activatemacOS / Linux 激活:
source myenv/bin/activatepip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt这步会看到:11 个包按固定版本依次装完;macOS / Linux 若缺 zbar,会打印对应安装命令后退出,装好 zbar 重新跑这一步即可。
第 3 步:启动
python main.py这步会看到:终端先用 ASCII 字符打出二维码并提示"登录二维码获取成功"(同时存了一份 resource/temp/QR.png,看不清可直接打开扫);手机 QQ 扫码后出现"登录成功",接着打印"用户<你的QQ号>,<昵称>登录成功"。随后是一段"正在获取消息列表数量..."的二分查找进度条,进入主进度条后每批 10 条、刷一行"Pause for 3 seconds...",最后进入"获取未删除说说"的补抓阶段。
导出结果怎么验证:逐项看产出文件
成功标志有三个:终端打印青色"导出成功,请查看 resource/result/你的QQ号 文件夹内容";跟着一串统计(共 N 条消息、最早一条说说发布在何时、好友 N 个、图片 N 张);系统自动打开结果文件夹。
resource/result/你的QQ号/下每个产出各管一件事:
- {QQ号}_全部列表.xlsx:消息列表全量记录,列为 时间、内容、图片链接、评论
- {QQ号}_说说列表.xlsx:你自己原发的说说
- {QQ号}_转发列表.xlsx:你转发的内容
- {QQ号}_留言列表.xlsx:你留在别人说说下的评论
- {QQ号}_其他列表.xlsx:好友侧的其他互动记录
- {QQ号}_好友列表.xlsx:所有互动对象的 昵称、QQ、空间主页
- {QQ号}_说说网页版.html:手机电脑浏览器都能直接打开的时间线,评论按原版界面排,QQ 表情渲染成表情图
- pic/:每张配图用说说正文命名(超 40 字截断),告别"图片1.jpg"
原理速览:消息列表如何变成本地文件
登录态来自扫码,存在 resource/user/ 下复用。程序先二分查找摸出消息列表总条数,再每批 10 条拉取,解析出文本、时间和图片链接;随后补抓当前仍可见的说说(含 2014 年前的),按内容去重合并,最后写 Excel、下图片、渲染 HTML。
进阶玩法:改路径、换入口、换账号
- 改导出位置:编辑 resource/config/config.ini,第 4 行
result = ./resource/result/就是导出根目录,temp、user 两行同理 - 换入口导 Markdown:fetch_all_message.py 只取当前可见(未删除)的说说,每页 30 条,写成 resource/fetch-all/所有可见说说.md,图片同目录保存,带评论与转发原文,适合转投博客
- 多账号切换:已登录过的账号会列在"请选择要登录的用户序号"里,输入序号复用登录态,输入 0 重新扫码
常见问题:覆盖范围、保存位置与中断处理
需要输 QQ 密码吗?不需要,只走官方扫码登录;登录态以文件形式存在 resource/user/ 下本地复用,请求、解析、存储全程在你自己的机器上,不经过第三方服务器。
能恢复到多早?删除的说说还在吗?消息列表里留过记录的说说得回来,包括后来删掉的说说原文;取不到的是"仅自己可见"且从未进入消息列表的说说。当前仍可见的(含 2014 年之前的)会被补抓并去重。
中途按了 Ctrl+C,数据丢吗?不丢,信号处理函数会把已取到的数据存盘退出;但下次运行会从头重新拉取并覆盖上一轮 xlsx,已保存的图片仍留在 pic/ 里。
想看核心逻辑,代码在哪?登录在 util/LoginUtil.py,请求在 util/RequestUtil.py,可见说说补抓在 util/GetAllMomentsUtil.py,配置读取在 util/ConfigUtil.py。
能拿别人账号的数据吗?不能也不该:请求全部使用你自己的登录态,工具只面向自己账号的备份,导出数据不要商用,尊重内容里每个人的版权与隐私。
跑完这一次,你的 QQ空间历史说说 就有了本地档案——Excel 可筛、HTML 可翻、图片按正文命名,当年删掉的那几条也一并回来了。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考