QQ空间历史说说全量备份指南:一次扫码,Excel 加网页双格式存档
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
QQ空间的老说说,图片链接隔段时间就失效,手动逐页往前翻又是几千页的体力活,中途断网还得从头再来。GetQzonehistory 就是干这件事的:手机QQ扫一次码,它自动把消息列表里的历史说说、评论和图片全量拉到本地,跑完你拿到的是一套可搜索的 Excel 表、一个离线网页和一个本地图片库。
跑完后的产出清单
所有文件都落在resource/result/{QQ号}/下,目录位置在 resource/config/config.ini 里改:
| 产出文件 | 内容 |
|---|---|
{QQ号}_全部列表.xlsx | 消息列表全量:时间 / 内容 / 图片链接 / 评论 四列 |
{QQ号}_说说列表.xlsx | 你自己发的说说(去重) |
{QQ号}_转发列表.xlsx | 你参与的转发内容 |
{QQ号}_留言列表.xlsx | 你留给别人的留言 |
{QQ号}_其他列表.xlsx | 其他好友的动态 |
{QQ号}_好友列表.xlsx | 出现过的联系人:昵称、QQ号、空间主页 |
pic/ | 全部说说的图片本地副本 |
{QQ号}_说说网页版.html | 仿空间样式的离线网页,双击就能翻 |
4 步跑通命令
- 先确认机器上有 Python 3:
python3 --version- 把仓库拉到本地并进入目录:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory- 建个虚拟环境装依赖,Windows 激活命令换成
myenv\Scripts\activate:
python3 -m venv myenv && source myenv/bin/activate pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt- 装二维码解码用的 zbar 系统库(CentOS/Fedora 用
sudo dnf install -y zbar,macOS 用brew install zbar):
sudo apt install -y zbar- 运行主程序,终端会打出一幅黑白二维码,用手机QQ扫掉并确认,之后自动开抓:
python main.py工作原理:档案室的三条规矩
登录这一步像进档案室先登记领牌——首次扫码后,程序把登录凭证按QQ号命名存进resource/user/,下次启动直接选序号进门,不用重扫;牌过期了就删掉对应文件重来。
总量这一步靠"二分探位":服务器不直接报消息总数,程序在 0 到 1000 万之间反复取中点试探,有数据说明往大了找、没数据说明往小了找,最多 24 轮请求就锁定总量;随后按每批 10 条往下拉,每批间隔 3 秒,节奏接近真人刷页。
落盘这一步像整理借阅记录:消息列表和可见说说两路数据各自拉全后,按作者归箱——自己发的进"说说"、转发的进"转发"、留言单列、别人动态进"其他",图片同步下载留底,最后统一打成六个 Excel 和一个可离线翻阅的网页。
GetQzonehistory/ ├── main.py # 主入口:登录→抓取→分类落盘 ├── fetch_all_message.py # 第二入口:说说导出 Markdown └── util/ ├── LoginUtil.py # 扫码登录、cookie 缓存 ├── RequestUtil.py # 消息请求、二分探总量 ├── GetAllMomentsUtil.py # 说说分页(每页30条) └── ToolsUtil.py # HTML 解析、表情还原翻车自救速查表
| 现象 | 大概率原因 | 一行解法 |
|---|---|---|
| 启动提示"无法找到 zbar 共享库" | 系统级 zbar 没装 | sudo apt install -y zbar |
| 终端里二维码是一堆乱码 | 终端字体不认字符画 | 扫resource/temp/QR.png这张图 |
登录失败:请重新登录 | 缓存的登录凭证过期 | 删掉resource/user/下对应QQ号文件重跑 |
| 卡在"正在获取消息列表数量"很久 | 二分探位每轮都发请求 | 耐心等,或 Ctrl+C 后重跑(已抓数据会自动保存) |
pic/里缺了几张图 | 个别图片请求失败 | 重跑python main.py,凭证还在不用重扫 |
跑之前的万能自检,确认依赖全部就位:
python -c "import requests, pandas, qrcode, pyzbar, bs4, openpyxl; print('依赖OK')"再进一步:三种用法
Markdown 纯文本档案:想把归档丢进笔记软件,跑第二入口python fetch_all_message.py,它生成所有可见说说.md,图片同步下载并用本地路径引用。
多账号轮换:resource/user/会积累多个账号的凭证,启动时程序列出已登录账号,输序号复用、输 0 重新扫码;结果按QQ号分目录,互不覆盖。
拿 Excel 做统计:用 pandas 读说说列表.xlsx按年分组,看看自己哪一年话最多;输出目录不顺手的话,改 config.ini 里的temp、user、result三个路径即可。
备份完成的那一刻,说说的文字、图片和评论已经躺在你硬盘上:Excel 管检索,网页版管翻阅,图管留底。哪天接口换地方了,这份存档也不会跟着过期。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考