GetQzonehistory:把QQ空间旧说说找回本地Excel的完整指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
翻回QQ空间主页找不到早期的说说,但它可能只是不再展示了。GetQzonehistory 从QQ空间找回历史说说:扫码登录后逐批取回旧说说和好友互动,整理成 Excel 和网页。全程数据存在本地,账号不经过第三方。
📦 GetQzonehistory 能找回多少:先看边界
把QQ空间的消息列表想成一个旧邮筒:主页是门前的公告板,只贴最近的几条,而邮筒里压着许多没人来取的旧信(历史互动记录)。GetQzonehistory 不翻公告板,它直接取邮筒——RequestUtil.py 从消息列表分批拉取,一次取 10 条,批次之间停 3 秒。
之后它用"内容比对"补漏:GetAllMomentsUtil.py 把主页还能看到的未删除说说全部拉回来(一页 30 条,2014 年以前的也包含在内),与邮筒里已取到的内容相同的就跳过,避免重复。
所以"能找回多少"的答案是:取决于平台消息列表里还压着多少条记录。从未进入消息列表的说说(比如仅自己可见的)取不到,已删除的更是无从谈起。找回没有上限,但越早跑,结果越完整。
🛡️ 账号会不会经过第三方:数据只走两条网络
翻一遍源码,程序对网络的请求只有两类:一是向QQ官方登录服务器完成扫码登录(LoginUtil.py 处理,只需扫码、不输密码),二是取回你自己账号的数据。所有结果写在本机的resource/result/你的QQ号/目录。
有一个文件要留意:登录成功后,登录态(cookies)会以明文存在resource/user/下,下次运行可直接选用已登录用户、跳过扫码。它是登录态的钥匙,不要上传或发给别人。
⏱️ GetQzonehistory 十分钟跑通完整Excel导出
本机装好 Python 后,敲这几行命令:
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 -r requirements.txt python main.py终端出现二维码,用手机QQ确认。程序先用二分法估算消息总条数(初始上界一千万),再每 10 条一批、批间休息 3 秒地往下取;几千条的量级大约几十分钟,看进度条等完即可。依赖各司其职:beautifulsoup4 解析页面,pandas 和 openpyxl 写 Excel,qrcode 和 pyzbar 负责扫码登录。
📊 导出文件怎么读:七个文件的字段逐个看
跑完后,resource/result/你的QQ号/下会出现一组以QQ号命名的文件:
| 文件 | 格式 | 内容 |
|---|---|---|
| 全部列表.xlsx | Excel | 全部消息(说说、留言、转发),按时间排序 |
| 说说列表.xlsx | Excel | 你自己发布的说说 |
| 转发列表.xlsx | Excel | 你转发的内容记录 |
| 留言列表.xlsx | Excel | 好友在你空间留下的留言 |
| 好友列表.xlsx | Excel | 互动好友的昵称、QQ号、空间主页 |
| 其他列表.xlsx | Excel | 其余互动动态 |
| QQ号_说说网页版.html | 网页 | 还原空间原版样式的说说页面,浏览器直接打开 |
说说里的图片会逐张下载到同目录的pic/文件夹,文件名由说说内容生成,超过 40 个字符截断,重名时自动追加时间戳,不会互相覆盖。
各表字段结构相近,以说说列表为例:
| 字段 | 说明 | 示例 |
|---|---|---|
| 时间 | 说说发布时间 | 2015年3月20日 14:30:22 |
| 内容 | 昵称与正文,用":"分隔 | 小明:今天天气真好 |
| 图片链接 | 图片地址,多图逗号分隔 | http://img.qzone... |
| 评论 | 评论者与内容列表 | [时间, 昵称, 内容] |
好友列表固定三列:昵称、QQ、空间主页。网页版则是主页的"复刻版",适合随手翻看和留档。
🔁 中断了、缺了几条怎么办
中途被打断:不必担心白跑。程序收到 Ctrl+C 时会触发保存逻辑(main.py 里注册了信号处理),先把已抓到的部分落盘再退出。
部分说说缺失:再跑一次做补充,程序每次都取全量、覆盖上次的结果。但有两类内容大概率始终取不到:仅自己可见的说说(从不在消息列表),以及已失效的图片链接(程序跳过失败的下载,不阻塞后续流程)。
想让这份存档不断档,每隔半年到一年再完整跑一次。保存位置可以在resource/config/config.ini里改,不动它默认就是resource/result。
⚠️ 跑不动时的排查表:四种常见情况
| 情况 | 可能原因 | 处理 |
|---|---|---|
| 登录后取不到数据 | 网络不稳或登录态失效 | 确认能打开空间网页版,重新扫码运行 |
| 部分说说缺失 | 该说说不在消息列表(如仅自己可见) | 再跑一次补充,个别仍可能取不到 |
| 部分图片没下载 | 图片链接已失效 | 属正常现象,程序会跳过并继续 |
| macOS 提示缺 zbar | pyzbar 的系统依赖未安装 | 执行brew install zbar后重跑 |
本工具仅用于备份个人数据与学习研究,请遵守平台相关条款、不侵犯他人隐私。
现在就去克隆仓库、扫码、等进度条走完——过往的说说会安安静静躺在你自己电脑的 Excel 里。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考