
GetQzonehistory把 QQ 空间历史说说批量备份为 Excel 与 HTML 的本地开源工具【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryGetQzonehistory 是一个本地运行的 Python 脚本通过模拟扫码登录 QQ 空间按批次抓取账号内的历史互动消息与可见说说最终在本地生成 Excel 和 HTML 两份备份文件。所有数据不经过任何第三方服务器适合想给自己多年的空间内容做一次离线存档的用户。弃用账号前如何把旧空间内容完整带走不少人计划注销或长期弃用 QQ但空间里几年的说说、照片还留着。手动复制既慢又容易漏而注销操作一旦执行内容就找不回来了。GetQzonehistory 的思路是趁账号还能登录把互动消息列表和可见说说不分页地拉取下来一次导出成可长期保存的表格和网页文件之后无论账号发生什么变化本地文件都还可用。图片和评论失效之前如何把它们保存下来QQ 空间图片走的是 CDN 链接年代久远的图片 URL 随时可能失效评论、点赞数据也只存在于网页接口里。这个工具会把每条说说附带的原图逐张下载到本地文件夹评论则结构化地写进 Excel 的对应列里。换句话说它同时解决文字在、图没了和正文在、评论区空了这两个常见问题。快速上手环境要求 Python 3.9 以上。下面这条命令完成克隆仓库、创建虚拟环境并安装依赖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依赖只有 requests、BeautifulSoup、pandas 等常见库。安装完成后运行主程序python main.py程序会显示一个二维码用手机 QQ 扫码确认即可全程不需要输入密码。登录成功后自动开始抓取每批请求之间固定间隔 3 秒控制台会实时显示进度条和已处理条数。说说较多的账号需要等待一段时间属正常现象。数据是怎么被抓下来并落盘的GetQzonehistory 工作流程图展示登录、抓取、解析、导出四个环节整个过程分为四步登录程序在本地生成登录二维码扫码成功后把会话凭证缓存在resource/user/目录。下次运行可直接复用已登录的账号不必重复扫码。抓取以互动消息列表为主数据源该接口天然支持分页。程序先查询消息总条数再按每批 10 条循环拉取随后由 util/GetAllMomentsUtil.py 翻页补齐仅自己可见的说说减少遗漏。解析返回的 HTML 交给 BeautifulSoup 解析逐条提取发布时间、正文、图片链接与评论并顺带收集消息中出现的好友昵称和 QQ 号。落盘按身份把数据分类——本人的说说、转发、留言和他人的动态分别写入不同 Excel同时渲染一份网页版 HTML并把所有图片下载到本地目录。备份结果包含哪些文件QQ 空间说说备份的导出结构结果统一放在resource/result/你的QQ号/下QQ号_全部列表.xlsx抓到的全部动态按时间、内容、图片链接、评论四列组织。QQ号_说说列表.xlsx本人发布的说说最常用的那份。QQ号_转发列表.xlsx本人转发的内容。QQ号_留言列表.xlsx本人在他人空间的留言。QQ号_其他列表.xlsx消息流里出现的他人动态相当于互动记录存档。QQ号_好友列表.xlsx抓取过程中收集到的好友昵称、QQ 号与主页链接。QQ号_说说网页版.html按时间倒序还原的静态网页保留头像、昵称、QQ 表情图标与图片可直接归档、投屏回顾或打印成纪念册。pic/所有说说的原图文件名取说说正文片段便于对号入座。进阶用法 拿到 Excel 之后用 pandas 做二次加工比在表格里手动筛选方便得多。下面这段用于筛出某一年的说说并导出为 CSVimport pandas as pd df pd.read_excel(resource/result/你的QQ号/你的QQ号_说说列表.xlsx) df[时间] pd.to_datetime(df[时间], format%Y年%m月%d日 %H:%M) df[df[时间].dt.year 2016].to_csv(say2016.csv, indexFalse)列名以实际导出文件为准同样的读法可以换成关键词检索、按年份统计发帖频率等处理。 如果想定期补一次备份可以在 Linux/macOS 上用 crontab 设置每月运行一次0 2 1 * * cd /path/to/GetQzonehistory ./myenv/bin/python main.py需要注意的是登录态会过期长期无人值守时任务可能退化成反复等待扫码。更现实的用法是把定时任务当作每月提醒脚本跑起来后补扫一次码即可增量补抓新动态。常见问题与隐私提示二维码失效扫码窗口期较短过期后重新运行main.py生成新的二维码即可。抓不到某些说说已删除、或设为仅自己可见且未出现在互动消息里的内容现有接口拿不到属预期行为而非故障。不要调小请求间隔main.py 中批与批之间的 sleep 是频控手段调小间隔可能触发 QQ 风控导致登录态被重置。凭证文件要管好resource/user/下缓存的会话凭证等同有效登录态备份完成后建议删除该目录或对整份备份加密存放。仅备份自己账号本工具设计用途是备份本人数据请勿用于抓取他人空间内容。延伸阅读util/LoginUtil.py二维码登录与会话缓存的实现。util/RequestUtil.py分页拉取互动消息列表的接口封装。util/GetAllMomentsUtil.py补齐仅自己可见说说的分页逻辑。resource/config/config.ini缓存、结果等目录路径的配置入口。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考