一次扫码导出 QQ 空间全部历史说说:GetQzonehistory 拿到 6 张 Excel 和 1 个网页时间线
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
在电脑上翻 QQ 空间消息列表,往回翻十几页就到底了。但空间的历史记录远比这长。GetQzonehistory 是一个说说导出工具:扫码登录一次,把你能看到的全部历史说说的文字、图片、评论落成本地 Excel 文件,适合想一次性备份老说说的用户。
导出产物清单:6 张 Excel 加 1 个网页
跑完之后,全部产物放在resource/result/你的QQ号/目录下:
| 文件 | 内容 |
|---|---|
| QQ号_全部列表.xlsx | 全部记录:时间、内容、图片链接、评论 |
| QQ号_说说列表.xlsx | 内容里带你自己昵称的原创说说 |
| QQ号_转发列表.xlsx | 内容含「转发」的动态 |
| QQ号_留言列表.xlsx | 内容含「留言」的动态 |
| QQ号_其他列表.xlsx | 好友评论、点赞等互动记录 |
| QQ号_好友列表.xlsx | 互动中出现的好友:昵称、QQ、空间主页 |
| QQ号_说说网页版.html | 浏览器打开即用的时间线网页,QQ 文字表情渲染成图片 |
| pic/ | 说说配图逐张下载的本地副本 |
从装环境到首次启动:一次扫码就能复用
需要 Python 3.7 以上。先拿到代码:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistoryrequirements.txt 共 11 个包,含 pandas、requests、pyzbar 等:
pip install -r requirements.txt⚠️ 有一个 pip 装不了:条码识别库 pyzbar 依赖系统里的 zbar 共享库,缺了它程序启动即退出并提示「无法找到 zbar 共享库」。先用系统包管理器装好再启动:Linux 执行sudo dnf install -y zbar或sudo apt install libzbar0,macOS 执行brew install zbar,程序会在 macOS 上自动引导这一步。
然后启动:
python main.py完整跑一遍:从扫码到拿到统计
- 扫码:终端打印出字符拼成的二维码,用手机 QQ 直接扫,全程不输账号密码。终端图案显示不全时,打开程序存下的图片
resource/temp/QR.png扫这张。 - 确认登录:终端打印「用户<QQ号>,<昵称>登录成功」即完成,cookie 写入
resource/user/;再次运行只需输入用户序号复用,不用再扫。 - 看两条进度条:第一条抓互动消息列表,每页 10 条、页间停 3 秒;第二条抓空间里可见的未删除说说,每页 30 条。耗时与数据量成正比,几千条跑几十分钟都正常。
- 看统计:跑完打印总消息数、最早一条说说的时间、好友数、图片数和各表行数,并自动打开结果目录。
中途想停按 Ctrl+C 即可:程序注册了信号处理,已抓到的数据会先落盘再退出。
它是怎么做到的:老说说从哪来
两个数据源,为什么都要抓?
互动消息列表在 main.py 主循环里逐页拉取;可见未删除说说列表则在 util/GetAllMomentsUtil.py 里先查总条数算出页数、再逐页取完,能补回消息列表里已翻不到、但空间里仍可见的早期记录,含 2014 年之前的。两份数据都有本地缓存,重跑不会重复请求。
记录怎么分到 4 张表?
规则直白:昵称是你的进动态三分法,内容含「留言」进留言表、含「转发」进转发表、其余进说说表;昵称不是你的归「其他」。合并前按内容去重,同一条说说不会被计两次。
图片文件名怎么生成?
取说说文本前 40 个字符做文件名,过滤非法字符,重名自动加时间戳。说说、转发两张表合并后按时间渲染成 HTML,表情替换成图片标签,浏览器打开就是原样显示。
跑完之后怎么自检:先看 3 处
- 看结尾统计:总消息数、好友数、图片数、各表行数是否合理
- 核对「最早一条说说」的时间和你使用空间的年限,对不上就回看抓取阶段有没有报错
- 打开网页版 HTML,滚到最底部,确认时间线、图片、评论都渲染正常
出问题时按现象查表:
| 现象 | 原因 | 修法 |
|---|---|---|
| 启动提示找不到 zbar 共享库就退出 | pyzbar 依赖系统级 zbar | 用系统包管理器安装,见 util/LoginUtil.py |
| 终端二维码残缺扫不出 | 字符图案在部分字体下显示不全 | 改扫resource/temp/QR.png |
| 下次运行又要扫码 | 登录 cookie 过期 | 重新扫一次;频繁出现先检查系统时间 |
拿不到什么,跑完之后做什么
只取你账号可见的数据,「仅自己可见」和已删除的说说拿不到,这是机制边界不是故障。登录、抓取、导出全在本机完成,数据不出机器。产物里含好友昵称、QQ 号和评论内容,别对外上传分享,工具仅限个人备份与技术研究。
第一次跑通后打开网页版 HTML 滚到最底部,看那条时间是否和你记忆中第一条说说得对上,对上了就算完整。之后把resource/result整个目录定期备份到另一块存储即可。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考