QQ空间历史导出:一次运行,把你整个空间的时间线拿走
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
多年前 QQ 空间里写的那些话,今天还能看到吗?网页版时间线翻不到深处,手动复制根本不可行。GetQzonehistory 是一个开源的 QQ空间历史导出 工具:用你自己的账号扫码登录后,它会把你空间的历史互动记录和全部可见说说抓下来,整理成 Excel 表格、HTML 网页和本地图片,完成一次 QQ空间说说备份。
它能做什么
- 把空间历史互动记录(说说、转发、留言)一键导出成 Excel 表格
- 全量拉取可见的、未删除的说说,2014 年以前的也包含在内
- 自动把说说里的图片下载到本地,链接失效也不影响查看
- 生成一个"说说网页版"HTML 页面,浏览器打开就是时间线
- 登录凭据保存在本地,第二次运行不用重新扫码
快速上手:从零到跑通
要求Python 3.7 及以上。Linux 需先安装 zbar 系统库(终端里用来解码二维码),Windows 和 macOS 直接可用。
第一步,获取代码:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory第二步,安装依赖并运行(建议先建虚拟环境):
pip install -r requirements.txt python main.py程序会在终端打印一个二维码,用手机 QQ 扫一下并确认,随后自动开始抓取,进度实时显示在终端里。
跑完之后你会得到什么 📦
结果统一放在resource/result/你的QQ号/下:
| 文件 | 里面有什么 |
|---|---|
你的QQ号_全部列表.xlsx | 所有抓到的消息:时间、内容、图片链接、评论 |
你的QQ号_说说列表.xlsx | 仅你自己的原创说说 |
你的QQ号_转发列表.xlsx | 你转发的别人的内容 |
你的QQ号_留言列表.xlsx | 好友在你空间下的留言 |
你的QQ号_其他列表.xlsx | 其他互动内容 |
你的QQ号_好友列表.xlsx | 有互动的好友昵称、QQ号、空间主页链接 |
你的QQ号_说说网页版.html | 可直接用浏览器打开的时间线页面 |
pic/ | 说说里的全部图片,已下载到本地 |
另有一个入口fetch_all_message.py,只抓取所有可见说说并输出 markdown 文件和图片,适合只想归档文字内容的人。
它是怎么工作的
- 扫码登录:程序从 QQ 官方登录服务取二维码,用 ASCII 字符画在终端里;你在手机 QQ 确认后,登录 cookie 被存到
resource/user/目录,下次运行直接选择已登录的用户,不用重扫。 - 分批拉历史消息:互动消息列表每次取 10 条,批次之间暂停 3 秒,避免高频请求触发风控。
- 补齐可见说说:再走空间自己的 JSON 接口,按每页 30 条翻页取全部未删除说说(含 2014 年以前),与消息列表去重合并。
- 解析与输出:用 BeautifulSoup 解析页面,提取时间、内容、图片、评论,用 pandas 写 Excel,逐张下载图片,最后按模板渲染出 HTML 页面。
常见问题与使用注意 🔐
问:跑到一半 Ctrl+C 了怎么办?答:程序监听了中断信号,你手动结束时会保存已抓到的数据,不会白跑。之后重跑即可,cookie 还在,登录那一步很快。
问:Excel 里的图片链接长期有效吗?答:不保证。QQ 空间的图片链接有过期和风控机制,程序已把所有图片存进pic/目录,以后看本地的就行。
问:登录信息会被上传吗?答:不会。cookie 只存在本地resource/user/目录,不发给任何第三方。不放心可以删掉文件,下次重新扫码。
问:能备份别人的空间吗?答:不能。程序只能抓到扫码账号自己的数据,别拿它去抓别人的内容。
问:多久跑一次合适?答:一个季度一次,或大批量发完内容后补跑一次即可;避开晚高峰。抓取中断过一阵后直接重跑,内置的批次间隔已经够用。
- 仅用于个人数据备份,遵守 QQ 平台用户协议
- 导出数据里含好友昵称和 QQ 号,别放到公共网盘
- 保持默认的批次间隔即可,不要改代码去加快请求频率
- 依赖与版本固定在 requirements.txt,升级前先看一眼
GetQzonehistory 做的事很单纯:尽量全地把你空间的历史变成能长期保存的文件。建议找个周末花几分钟跑一次完整备份,把resource/result/整个目录拷到一块移动硬盘里。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考