GetQzonehistory|零门槛导出QQ空间全部历史说说
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
网页版翻不到几年前,QQ空间旧说说到底怎么备份
网页版QQ空间只能往前翻到有限的内容,想导出十年前的历史说说,手动一条条复制显然不现实。GetQzonehistory 就是为解决这个问题生的:扫码登录一次,它分页抓取你账号下所有可见的历史说说,本地导出成 Excel、图片和网页版 HTML。整个流程十几分钟能跑完,登录、抓取、导出全在你自己机器上完成。
项目速览
| 项目 | 说明 |
|---|---|
| 一句话定位 | QQ空间历史说说导出工具,抓全部可见记录 |
| 技术栈 | Python + requests + BeautifulSoup + pandas |
| 登录方式 | 手机QQ扫码,不接触账号密码 |
| 输出格式 | 六张 Excel + 本地图片 + 网页版 HTML |
| 适用平台 | Windows / macOS / Linux,需 Python 3.7+ |
| 开源协议 | GPL v3 |
- 扫码登录,cookie 存本地,重跑免扫码
- 双数据源分页拉取,页间自动限速
- 说说图片逐张下载到本地 pic 目录
- 按说说、转发、留言、好友分类导出
- 生成浏览器直接打开的网页版时间线
准备工作:克隆仓库并装好依赖
先拿到代码。仓库里带了requirements.txt,依赖都是常见库,装起来很快:
# 克隆仓库 git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistorypyzbar 需要一个系统级的 zbar 共享库,pip 装不了,得用系统包管理器补一下(这一步跳过会导致启动直接报错退出):
# Linux(Debian/Ubuntu) sudo apt install libzbar0 # Linux(Fedora/CentOS) sudo dnf install -y zbar # macOS brew install zbar最后用虚拟环境隔离依赖,避免污染系统 Python,然后安装依赖并启动:
python -m venv myenv # Windows 激活 myenv\Scripts\activate # Linux / macOS 激活 source myenv/bin/activate pip install -r requirements.txt python main.py核心操作流程:从扫码登录到完成导出
第 1 步:扫码登录
启动后程序向 QQ 登录接口请求二维码,用 pyzbar 解析后以字符图案打印在终端。此处需要手机 QQ 扫码,等待期间终端每 3 秒轮询一次状态。
15:30:12 登录二维码获取成功 ██████████████████████████ ██ 字符二维码,对准手机扫码 ██ ██████████████████████████ 15:31:05 二维码认证中 15:31:08 登录成功 用户<123456789>,<你的昵称>登录成功登录成功即 cookie 已存到resource/user/目录,下次运行直接读,不重复扫码。
第 2 步:分页抓取两个来源的数据
登录成功后自动开始抓取。第一阶段拉互动消息列表,每 10 条一页、页间停 3 秒;第二阶段拉可见未删除说说列表,每 30 条一页,中间带本地缓存。两份结果按内容去重后合并,避免同一条说说计两次。
Progress: 100%|██████████| 236/236 [11:32<00:00] 你的未删除说说总条数 7050 开始获取所有未删除说说 一页30条, 获取第1页 Pause for 3 seconds...数据量大就慢慢等,总耗时和条数成正比,不是卡死。
第 3 步:等待自动导出完成
抓取结束后程序自动下载全部图片、写出 Excel、渲染网页版,最后打印统计。
处理消息列表: 100%|██████████| 7285/7285 导出成功,请查看 resource/result/123456789/ 文件夹内容 共有 7285 条消息 最早的一条说说发布在2010年09月12日 21:33:05 图片列表共有 2311 张图片跑完可以 Ctrl+C 也不用慌——程序注册了信号处理,中断时已抓数据会先落盘。路径类配置集中在resource/config/config.ini,temp、user、result 三个目录默认值开箱即用,不用管。
导出产物解析与快速验证
所有文件落在resource/result/你的QQ号/目录下:
| 文件 | 内容 |
|---|---|
| QQ号_全部列表.xlsx | 抓到的全部记录(含好友内容) |
| QQ号_说说列表.xlsx | 你发布的原创说说 |
| QQ号_转发列表.xlsx | 你的转发记录 |
| QQ号_留言列表.xlsx | 你留下的留言 |
| QQ号_其他列表.xlsx | 其他好友的说说 |
| QQ号_好友列表.xlsx | 互动中出现的好友昵称与QQ号 |
| QQ号_说说网页版.html | 网页版时间线,浏览器直接打开 |
| pic/ | 说说图片,文件名取说说文本前 40 字符 |
🔍 30 秒快速验证清单:
- 看终端"最早的一条说说发布在"时间,是否接近你开始用QQ空间的年份
- 打开 HTML 文件,确认时间线、图片、评论都渲染正常
- 对一下说说列表行数与
pic/图片数量是否合理 - 抽查两三条老说说,内容和原空间记忆一致
- 总条数为 0 或明显偏少,多半是 cookie 过期,重跑一次即可
📌 踩坑与排错
| 问题 | 解法 |
|---|---|
| 你看到"无法找到 zbar 共享库"并退出 | Linux 执行sudo apt install libzbar0或sudo dnf install -y zbar,macOS 执行brew install zbar |
| 你看到终端二维码看不清、手机扫不出 | 打开resource/temp/QR.png那张二维码图片直接扫 |
| 你看到导出结果缺少某些说说 | 仅自己可见或已删除的说说本就不在"可见"范围内,属机制边界;程序按内容去重,重跑是安全的 |
| 你看到程序运行很久像卡死 | 消息列表每 10 条停 3 秒,耗时和数据量成正比;要中断就按 Ctrl+C,已抓数据先保存 |
| 你看到下次运行又要求重新扫码 | cookie 过期了,重新扫码;频繁出现时检查系统时间是否准确 |
合规与边界
该工具只抓取你本人账号可见的数据,登录、抓取、导出全部在本地完成,不经过任何第三方服务器。但导出文件里包含好友的昵称、QQ 号和评论内容,这些属于他人的个人信息,不要把 Excel 或 HTML 对外公开发布。说说文字和图片受 QQ 平台及原作者版权约束,本工具仅限个人备份与技术研究用途。不要用于商业用途或大规模抓取,请遵守平台服务条款。
延伸与进阶
- 仓库里还有第二个入口
fetch_all_message.py,专门抓可见未删除说说(可回溯到 2014 年前),并输出带图片的本地 Markdown,值得试跑一次 - 跑通后把
resource/result/目录定期备份到另一块存储,说说是不可再生的数据 - 导出的 Excel 可以直接用 pandas 接着做统计,比如按年份汇总说说数量、找出图片最多的月份
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考