GetQzonehistory使用指南:十分钟把QQ空间历史说说完整搬到本地硬盘
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
给QQ空间做一次彻底的历史说说备份,是你迟早会想到、但往往拖到最后的事。而上次它真正找上门来,方式并不温柔——上周日大扫除,阿凯从柜子深处翻出一台旧手机,解锁,打开QQ空间,想调出初中毕业那次的全班合影,看到的却是一排灰块:八年的说说,图片悄无声息地裂了。
直到这种时刻你才会发现,我们以为存在"云端"的东西,其实放在别人的架子上。页面改版、账号异常、图源下线,任何一个都可能抹掉你的这段"青春史料"。如果你也有过同样的不安,开源工具 GetQzonehistory 就是为此而生的:扫码登录,它自动把账号下的说说、转发、留言和评论逐页翻完,存成 Excel 表格、HTML 网页和图片文件夹。适合每一个想把"只有平台记得的瞬间"变成"自己手里的文件"的人。
自己动手搬和让它搬,差距到底在哪
先不谈技术,谈一个选择。
自己搬:
- 文字一条条复制,图片一张张另存,一下午过去,才挪到两百条;
- 导出的东西散在各个文件夹里,文件名三个月后自己都认不出;
- 到底搬全了没有,无从核对,全凭感觉。
让它搬:
- 说说、转发、留言、好友、图片各归各的表,程序结束时把每一类的条数报给你听;
- 你只负责扫码,翻页、解析、下载、装订全部自动完成,中途可以去浇花;
- Excel、HTML、图片文件夹三份备份互相独立,哪份坏了都不影响另外两份。
一句话:它把"数据在别人的服务器"变成"数据在你自己的硬盘"。
它是怎么"翻遍"你的空间的?
可以把它理解成请了一支细致的"记录誊抄队"。你扫码交钥匙,他们拿着钥匙进档案室,一次翻十行、逐行誊抄,每誊一批就放下笔歇几秒——不是偷懒,是怕把册子翻坏。收尾时交给你三样东西:一册账本(Excel)、一面展示墙(HTML)、一摞相册(图片文件夹)。
分工都写在 util/ 目录下,五个文件各司其职:
| 模块文件 | 职责 | 大白话理解 |
|---|---|---|
| util/LoginUtil.py | 扫码登录、本地凭证缓存 | 交钥匙,钥匙留着下次免扫码 |
| util/RequestUtil.py | 分页请求历史消息列表 | 一次翻十行地翻册子 |
| util/GetAllMomentsUtil.py | 拉取全部可见未删除说说(含2014年前) | 把阁楼里的老相册也翻出来 |
| util/ToolsUtil.py | 解析格式化、生成Excel与HTML | 装订成册、排好展示墙 |
| util/ConfigUtil.py | 读取输出目录等配置 | 决定东西往哪儿摆 |
整条流水线只有五步:扫码登录 → 每10条翻页拉取 → 解析去重 → 分类落表 → Excel/HTML/图片全部存到本地。不用懂协议,也不用盯屏幕。
三步跑通第一次导出,附验收清单
第一步:克隆仓库,装好依赖
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv source myenv/bin/activate # Windows 用 myenv\Scripts\activate pip install -r requirements.txt依赖里requests管网络、beautifulsoup4管解析、pandas+openpyxl管表格、qrcode管登录码,一条命令装齐。
第二步:运行主程序,扫码登录
python main.py终端会直接打印一个二维码,用手机QQ扫一下。成功后你能看到:
用户<123456789>,<你的昵称>登录成功
接着进度条开始走,终端每10条打印一次Pause for 3 seconds...,这是程序内置的限频休息,属于正常现象。
💡 两个常见小状况:一是二维码会过期,过期后重跑即可,若终端列出"已登录用户列表",直接选序号继续,输入 0 重新扫码;二是 Linux 上若提示"无法找到 zbar 共享库",先按终端里的提示安装 zbar(如 RPM 系发行版
sudo dnf install -y zbar),扫码识别依赖它。
想连2014年之前的老说说也补全、并额外得到一份所有可见说说.md和高清图片,可以再跑另一个入口:
python fetch_all_message.py第三步:对着清单验收
跑完后,所有东西都在resource/result/你的QQ号/下(目录配置见 resource/config/config.ini):
| 文件 | 内容 | 验收要点 |
|---|---|---|
| QQ号_全部列表.xlsx | 抓取到的全部消息总表 | 总条数是否符合预期 |
| QQ号_说说列表.xlsx | 你自己发的说说 | 时间范围是否覆盖到最早年份 |
| QQ号_转发列表.xlsx | 你转发的内容 | 来源是否齐全 |
| QQ号_留言列表.xlsx | 收到的留言 | 抽查有无遗漏 |
| QQ号_好友列表.xlsx | 互动好友的昵称、QQ、主页 | 好友总数对不对 |
| QQ号_说说网页版.html | 网页版说说时间线 | 双击打开,排版是否正常 |
| pic/ | 说说图片的本地拷贝 | 随手抽几张能否打开 |
程序结束时会打印一份报告:共多少条消息、最早一条说说发布于哪年、多少张图,照着核对一遍,这次备份才算真正收官。
导出之后,这批数据还能干嘛
场景一:新年"年度回顾"。每年年初,用三行代码看看自己哪年话最多:
import pandas as pd data = pd.read_excel('resource/result/123456789/123456789_说说列表.xlsx') print(data['时间'].str[:4].value_counts().sort_index()) # 每年发了几条哪年话痨、哪年沉默、哪年在疯狂晒图,一张统计表全说清楚。
场景二:纪念日相册。毕业十周年、结婚纪念日那天,在 Excel 里按日期筛出那天的说说和留言,配上 pic/ 里对应的图,半小时就能拼出一份纪念册发给当年的当事人。
场景三:给父母的"家庭相册"。把 HTML 文件发给爸妈,浏览器里就能翻你这十几年的生活。注意 HTML 里的图片走的是在线高清链接,若担心图源有变,把 pic/ 文件夹整个打包发过去更稳。
你可能想问的五个问题
Q:设置了"仅自己可见"的说说能导出来吗?A:不能。工具走的是"历史消息列表"和"可见说说"两条路,仅自己可见的内容根本不出现在这两个列表里,这是平台规则决定的,任何工具都绕不开。
Q:中途按了 Ctrl+C 或断网了,前功尽弃?A:不会。主程序注册了信号处理,手动中断时会把已抓到的数据当场落盘;fetch_all_message.py这类入口还带本地缓存文件,重跑会从上次的位置接着拉,不必从头再来。
Q:大概要跑多久?A:主程序每10条休息约8秒(限频防限制),500条说说大约十分钟出头。量大就放晚上挂着跑,别盯着。
Q:我的登录信息安全吗?A:全程本地运行。登录凭证只缓存在resource/user/里省得下次再扫码,说说内容和图片不会上传到任何第三方服务器。
Q:二维码一直扫不上怎么办?A:程序每3秒轮询一次登录状态并打印"二维码认证中/已失效"等字样,失效了就重跑换新码;已有登录用户的直接选序号即可。
别等灰块越来越多,才想起这件事
那些深夜写下的牢骚、当时觉得普通的一张照片、别人留在你动态下的评论,是你这十几年最真实的注脚。"云端会替你存"是一句很省心的话,也是最不可靠的一句话——最稳妥的东西,始终握在自己手里。
GetQzonehistory 做的事很小,却只是一件:把"怕丢"变成"安心拥有"。打开终端跑起来,给那段你以为不会再翻的青春,留一份永远亮着的副本。🚀
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考