一键导出QQ空间全部历史说说到Excel:GetQzonehistory本地备份部署指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
当需要把多年QQ空间发布过的说说完整存档时,GetQzonehistory 一次运行就能搞定:扫码登录后,它自动从消息列表和可见说说两个渠道抓取历史数据,解析正文、评论与图片链接,最终产出一套本地备份——多张 Excel 表格、一个网页版 HTML 页面和按目录存放的说说图片。
能力速览
- 双渠道抓取:消息列表 + 可见说说(含 2014 年之前的数据),自动合并去重,减少遗漏
- 批量导出说说、转发、留言、其他内容等 6 张 Excel 表,另附好友列表
- 说说图片自动下载到本地目录,网页版页面中图片链接自动替换为高清地址
- 提供独立的
fetch_all_message.py入口,可将全部可见未删除说说导出为 Markdown 并同步下载配图
快速上手
拉取代码并安装依赖
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💡
pyzbar依赖系统的 zbar 共享库,Linux(RPM 系)可先执行sudo dnf install -y zbar,macOS 上程序检测到 Homebrew 后也会引导安装。
扫码完成账号授权
python main.py终端会打印登录二维码,用手机 QQ 扫码确认即可,全程不需要输入密码。登录状态按 QQ 号写入resource/user/目录,下次运行可直接复用。
💡 如果终端无法显示二维码,可以直接打开
resource/temp/QR.png图片文件扫码。
等待自动抓取并导出
程序分两阶段执行:先估算消息列表总量,再每 10 条一批拉取,完成后自动导出到resource/result/{QQ号}/目录并在桌面环境自动打开该目录(Windows 下结束前会暂停等待)。
💡 过程中按 Ctrl+C 中断也会先保存已抓取到的数据,不会全部白跑。
(可选)导出全部可见说到 Markdown
python fetch_all_message.py该入口走可见说说接口,结果写入resource/fetch-all/所有可见说说.md,图片以{tid}序号.jpeg命名存放在同目录。
工作原理
登录阶段:util/LoginUtil.py向 ptlogin2 接口请求二维码并轮询登录状态,成功后把 cookies 按 QQ 号落盘。已缓存的用户在下次启动时会列出供选择,无需重复扫码。
抓取阶段:两个数据源并行。消息列表由util/RequestUtil.py负责,先通过二分查找估算消息总量,再按每批 10 条、批间隔 3 秒拉取,用 BeautifulSoup 解析接口返回的 HTML,提取时间、内容、图片链接和发说说的朋友信息。可见说说由util/GetAllMomentsUtil.py负责,按每页 30 条请求 JSON 接口,并把整包结果缓存在resource/fetch-all/{QQ号}/下,重复运行直接读缓存。
导出阶段:两路数据合并去重后,main.py的save_data()依次写出多张 Excel、逐张下载图片到pic/子目录,并渲染网页版 HTML——其中低清图链接会被替换为高清版本,QQ 表情文本会被转成图片标签,页面效果接近原空间时间线。
产出说明
所有导出内容集中在resource/result/{QQ号}/下:
resource/result/{QQ号}/ ├── {QQ号}_全部列表.xlsx ├── {QQ号}_说说列表.xlsx ├── {QQ号}_转发列表.xlsx ├── {QQ号}_留言列表.xlsx ├── {QQ号}_其他列表.xlsx ├── {QQ号}_好友列表.xlsx ├── {QQ号}_说说网页版.html └── pic/| 文件类型 | 内容说明 | 典型用途 |
|---|---|---|
| 说说/转发/留言/其他/全部 xlsx | 时间、内容、图片链接、评论,按来源分表 | 按时间或关键词批量检索 |
| 好友列表 xlsx | 昵称、QQ 号、空间主页 | 核对发说说的人、回访好友 |
| 说说网页版.html | 还原空间时间线的本地页面,图片为高清链接 | 本地浏览、归档展示 |
| pic/ 目录图片 | 从链接下载下来的说说配图 | 照片集整理、二次编辑 |
进阶配置
程序的目录行为由resource/config/config.ini控制(参见 README 的目录结构说明),共三个键:
[File] # 缓存目录,登录二维码 QR.png 存放于此 temp = resource/temp/ # 登录状态目录,按 QQ 号缓存 cookies user = resource/user/ # 导出结果目录 result = resource/result/把result改成其他磁盘的路径即可,让大体积备份不占用项目目录。
⚡ 登录态复用:程序启动时会列出
resource/user/下的全部缓存用户,输入序号直接选用、输入 0 强制重新扫码,多账号切换也走同一流程。 ⚡ 可见说说数据有 JSON 缓存:首次抓取成功后重跑直接读本地文件,配合系统定时任务每月执行一次,就能保持备份持续更新。
常见问题
Q:终端里二维码不显示或乱码?通常是缺少 zbar 共享库。RPM 系系统执行sudo dnf install -y zbar;macOS 可让程序通过 Homebrew 自动安装。装完仍不行的话,直接打开resource/temp/QR.png扫码即可。
Q:抓取过程太慢,要等多久?消息列表接口每 10 条批间休息 3 秒,前面还有一个二分估算总量的阶段,耗时随说说总量增长,建议在稳定的网络环境下挂机运行,中途中断也能保住已抓部分。
Q:为什么结果里少了一些说说?工具依赖"消息列表"和"可见说说"两个接口,只要不在消息列表里的内容(例如仅自己可见的说说)就抓不到,这一点 README 中有明确说明。
Q:跑完没有自动打开结果目录?程序按系统依次尝试startfile、open、xdg-open等命令,服务器或精简桌面环境可能都不具备,直接到项目下的resource/result/里找对应 QQ 号文件夹即可。
写在最后
几个可以直接执行的安排:说说到半年量级或有成批重要内容时跑一次完整备份;resource/result/至少保留两份(本地加移动硬盘或网盘);导出后按年份归档,Excel 表用于检索、HTML 页用于浏览,各留一份即可。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考