一键备份QQ空间历史说说:用GetQzonehistory十分钟导出6张Excel加图片库
2026/9/20 9:02:03 网站建设 项目流程

一键备份QQ空间历史说说:用GetQzonehistory十分钟导出6张Excel加图片库

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

几年甚至十几年的QQ空间说说、转发、照片,官方渠道基本没法成批导出。GetQzonehistory 扫码登录后自动翻页抓取空间历史消息列表,把全部说说、转发、留言、图片整理成 6 张 Excel 表格、一个网页版时间线和一份本地图片库,一次运行完成导出。

核心能力速览

能力说明
全量翻页采集按 10 条一批拉取空间历史消息列表,500 条说说约 5~10 分钟跑完
六类 Excel 拆分说说、转发、留言、其他、全部、好友各一张表,WPS/Excel 直接打开
图片本地归档说说中的图片逐张下载到pic/目录,网页版自动替换为高清链接
网页版时间线说说、评论、QQ 表情渲染成独立 HTML,浏览器打开即可翻看
多账号复用登录状态保存在本地resource/user/,再次运行选一下账号即可切换

环境准备

系统要求:Python 3.9 及以上(requirements.txt中锁定的 pandas 2.2.3 最低支持 3.9);Linux 和 macOS 额外需要 zbar 系统库,用于解码登录二维码。

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory

拉取项目源码。

cd GetQzonehistory

进入项目目录。

python -m venv myenv source myenv/bin/activate

创建并激活虚拟环境(Windows 改用.\myenv\Scripts\activate)。

sudo dnf install -y zbar

RPM 系 Linux 安装二维码解码依赖;macOS 执行brew install zbar,Windows 一般无需额外安装。

pip install -r requirements.txt

安装 requests、beautifulsoup4、pandas、openpyxl、qrcode 等全部依赖。

实操步骤

采集逻辑分散在util/LoginUtil.py(扫码登录)、util/RequestUtil.py(翻页请求)、util/GetAllMomentsUtil.py(补齐可见说说)、util/ToolsUtil.py(渲染表格和网页)四个模块中,使用者只需要关注运行流程。

扫码登录QQ空间,一次授权全程免密

运行主程序:

python main.py

终端先输出「登录二维码获取成功」,随后直接在控制台打印一个字符二维码,用手机 QQ 扫码确认。之后依次看到「二维码认证中」→「登录成功」,程序输出类似用户<你的QQ号>,<昵称>登录成功的提示。

注意两点:二维码有有效期,出现后尽快扫;登录状态会写入resource/user/目录,之后每次运行直接选择已存账号,输入 0 可重新扫码。

等待自动翻页采集,每10条暂停3秒

登录成功后程序开始分页请求:每批取 10 条历史消息,批与批之间time.sleep(3)控制频率,终端顶部有一个Progress进度条。

预期看到:进度条缓慢推进,每批结束后打印一行Pause for 3 seconds...。💡 暂停是限频保护,不要误以为卡死而反复重启;确实要中断时按 Ctrl+C,信号处理函数会自动把已抓取的数据存成 Excel,不会白跑。

核对导出统计,程序自动打开结果目录

采集结束后进入保存阶段:逐张下载图片、按类型拆分、生成 Excel 与网页版 HTML,最后打印统计报告并自动打开结果文件夹。

预期输出(以实际账号为例):

导出成功,请查看 resource/result/123456789 文件夹内容 共有 512 条消息 最早的一条说说发布在2010年 好友列表共有 327 个好友 说说列表共有 402 条说说 转发列表共有 56 条转发 留言列表共有 31 条留言 其他列表共有 23 条内容 图片列表共有 187 张图片

这 8 个数字就是验收清单的总纲,逐条和下面的文件行数对得上,说明这次备份完整。

导出文件结构与产出物解读

全部产出位于resource/result/<你的QQ号>/目录:

文件名内容说明用途/验收方式
QQ号_全部列表.xlsx历史消息列表全量条目(时间、内容、图片链接、评论)行数对照终端「共有 N 条消息」
QQ号_说说列表.xlsx你自己发布的说说看「时间」列是否覆盖你活跃的年份区间
QQ号_转发列表.xlsx你转发过的内容抽查几条转发来源是否正确
QQ号_留言列表.xlsx你收到的留言行数对照统计中的留言条数
QQ号_其他列表.xlsx好友互动等其他内容检查有无明显遗漏
QQ号_好友列表.xlsx互动好友的昵称、QQ、空间主页总数对照「好友列表共有 N 个好友」
QQ号_说说网页版.html网页版时间线,图片换高清、表情还原双击打开,确认图片、评论正常渲染
pic/目录说说中的原始图片文件抽查几张能否正常打开

进阶玩法

补齐 2014 年之前的早期说说:历史消息列表有时看不到太早的内容,可以单独运行python fetch_all_message.py,它会按每页 30 条拉取全部「可见且未删除」的说说,下载高清图并汇总成resource/fetch-all/所有可见说说.md,中途有分页缓存,重跑直接从缓存文件继续。

统计每年的发帖节奏:三行 pandas 就能看出哪一年话最多:

import pandas as pd df = pd.read_excel('123456789_说说列表.xlsx') print(df['时间'].str.extract(r'(\d{4})')[0].value_counts())

找某个特定日子的记忆:直接在 Excel 按「时间」列筛选,或打开网页版 HTML 搜索关键词,把当天的说说、留言、图片挑出来,就是一份现成的纪念材料。

常见问题

Q:仅自己可见的说说能导出吗?不能。工具走的是空间历史消息列表,设为仅自己可见的内容不在列表中,平台层面就拿不到。

Q:为什么 Linux/macOS 要单独装 zbar?程序用 pyzbar 在本地解码登录二维码,依赖 zbar 系统库。RPM 系 Linux 执行sudo dnf install -y zbar,macOS 执行brew install zbar,Windows 安装器自带,一般不用处理。

Q:一次运行大概要多久?每 10 条暂停 3 秒用于限频,500 条说说约 5~10 分钟,图片多会更久。建议网络稳定的时段运行,别在高峰期跑。

Q:能连续导出多个账号吗?可以。首次扫码后状态存在resource/user/,重跑时程序列出已登录用户,输入序号切换,输入 0 重新扫码。

Q:中途断网或手动中断会丢数据吗?单批请求失败时程序跳过该批继续;手动 Ctrl+C 中断时,已抓取的数据会自动写入 Excel 保存,不用从头再来。

结尾

GetQzonehistory 做的事很简单:把留在平台侧的多年说说,变成自己硬盘里的 Excel、HTML 和图片文件,格式通用、随时可查。克隆仓库后执行python main.py,扫一次码就可以开始备份。如果空间里还有十几年的老内容,建议这周就跑一次。

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

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

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

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

立即咨询