ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

GetQzonehistory:QQ空间备份与说说数据导出归档工具

GetQzonehistory:QQ空间备份与说说数据导出归档工具 GetQzonehistoryQQ空间备份与说说数据导出归档工具【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryGetQzonehistory 是一个面向 QQ空间备份的命令行工具扫码登录一次它就把你 QQ 空间的历史说说连同时间、图片、评论一起抓下来输出成一组 Excel 表格和一份还原时间线的网页版 HTML全部落在本地磁盘上不涉及任何云端存储。它到底帮你解决什么你早年发过几百条说说但空间信息流只能往前翻最近的内容想找2012 年写的某句话基本翻不到。用它做 QQ空间备份全部导出成表格后直接在 Excel 里搜关键词就行。空间信息流里自己的原创、别人的转发、留言板留言全混在一起平台没有单独导出的入口。这个工具会把内容拆成说说列表、转发列表、留言列表、其他列表等 6 张表各归各位。想一次性翻出老照片空间里没有这种按钮。工具会把每条说说里的原图下载到pic/目录文件名取自说说内容本身。几分钟跑起来前置条件Python 3.7推荐虚拟环境Linux/macOS 上还需要系统级zbar共享库登录模块要用它解码扫码结果。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 python main.py首次运行你会看到这几步终端生成一个二维码用 QQ 手机 App 扫码确认登录控制台打印用户QQ号,昵称登录成功确认身份无误进度条按每批 10 条拉取空间消息列表每批之间休息 3 秒消息列表跑完后再拉取未删除说说全量列表可覆盖 2014 年之前的内容最后打印各列表条数统计并自动打开结果目录。数据是怎么被拿到的整条链路是扫码登录 → 查总数 → 分页拉取 → 解析入库 → 分类落盘核心代码都在 util/ 下LoginUtil.py负责 QQ 扫码登录。它生成二维码扫码后用 pyzbar 解析回调地址再按官方算法算出bkn、ptqrtoken完成会话建立。全程不碰账号密码。RequestUtil.py封装对空间网页版接口的请求先查询消息总数再按偏移量分页拉取。GetAllMomentsUtil.py专门抓未删除说说按每页 30 条翻页原始 JSON 缓存在resource/fetch-all/{QQ号}/下重跑时直接命中缓存不重复请求。ToolsUtil.py处理 HTML 模板、QQ 表情符号的还原等脏活。ConfigUtil.py读取resource/config/config.ini管理缓存、用户凭证、结果三类目录路径。拿到原始 HTML 后程序用 BeautifulSoup 逐条抽取每个动态节点的时间、文字、图片链接再按是否本人昵称开头、是否含转发/留言字样归类最后落盘。导出的东西长什么样所有产物集中在resource/result/{QQ号}/目录resource/result/{QQ号}/ ├── {QQ号}_全部列表.xlsx # 消息列表全量内容 ├── {QQ号}_说说列表.xlsx # 本人原创 ├── {QQ号}_转发列表.xlsx # 本人转发 ├── {QQ号}_留言列表.xlsx # 留言板留言 ├── {QQ号}_其他列表.xlsx # 好友动态等其他内容 ├── {QQ号}_好友列表.xlsx # 昵称、QQ、空间主页 ├── {QQ号}_说说网页版.html # 还原版时间线网页 └── pic/ # 每条说说的原图文件格式用途各列表文件.xlsx每行一条动态列为时间 / 内容 / 图片链接 / 评论可直接筛选排序好友列表.xlsx顺带导出互动过的所有好友 QQ 与主页地址网页版.html浏览器打开即用QQ 表情还原成图片图片链接自动升级成高清版本pic/jpg按说说内容命名的本地图片文件评论列里保存的是结构化的评论数据时间、昵称、内容、QQ 号做后续分析时能直接拆出来用。拿到数据之后能干什么做一份自己的发布频率统计第一步打开{QQ号}_全部列表.xlsx用时间列插入数据透视表按年月分组计数。哪年哪月你话最多、哪段时期彻底沉默一张图就出来了适合写年度回顾或者研究自己的表达习惯。搭一个离线可看的个人空间第一步用浏览器打开{QQ号}_说说网页版.html它按时间倒序还原了空间信息流的样式。如果打算长期归档这份社交数据把 HTML 和pic/目录打包放在一起以后浏览器双击就能翻不依赖任何在线服务。当写作和研究素材库第一步在内容列里用筛选功能搜一个关键词比如某本书、某个地点把同主题的历史记录捞出来再打开评论列看看当年朋友是怎么回应的——这批带时间戳的一手语料做语言分析或情感研究比公开数据集真实得多。安全、性能与稳定性请求、解析、落盘全部发生在你的机器上导出的数据只存在本地磁盘没有任何上传环节。登录走官方扫码机制不采集也不存储密码会话凭证写在resource/user/下便于复用公共电脑上用完建议清掉。大账号不用怕消息列表每批 10 条、批间 sleep 3 秒未删除说说每页 30 条总数事先可知你能自己估出总耗时。resource/fetch-all/下的 JSON 缓存让第二次运行跳过已成功页面中断后重跑不用从头再来。注册了信号处理器按 CtrlC 退出前会把已抓到的数据先存盘中断不丢进度。你可能卡住的地方QLinux 下刚启动就提示无法找到 zbar 共享库A登录模块靠 pyzbar 解码二维码底层依赖系统的 zbar 库。Debian/Ubuntu 执行sudo apt install libzbar0Fedora 执行sudo dnf install zbar装完重跑即可。Q二维码出来了扫了却半天没反应A二维码有效期很短超时就重新扫如果反复扫都没回调基本还是上面那个 zbar 解码依赖的问题先装库再试。Q导出的结果里找不到我确定发过的某条说说A工具能覆盖的范围是消息列表里可见的内容 未删除的说说。设为仅自己可见、或删除过的内容不在抓取范围内属于平台数据本身的边界。Q日志里出现获取消息失败第 N 批次返回值为空A个别页请求失败时程序会跳过该批继续往下走缺口有机会被未删除说说列表补上如果这类日志密集出现先检查网络稳定性重跑一次已成功的页会走缓存。Q换另一个 QQ 号再跑一次结果会互相覆盖吗A不会。结果目录和缓存目录都按 QQ 号建子文件夹区分多账号并存各自的 Excel 和图片互不干扰。项目还能往哪走评论结构化评论目前以字符串形式存在评论列里拆成独立的评论表人、时间、内容会更方便做互动分析。图片下载提速pic/目录目前是串行下载图片多的账号等待时间偏长改成多线程是一个明显的优化点。更多导出格式在 xlsx 之外增加 CSV/JSON方便直接灌进数据库或分析脚本。想参与的话直接到项目仓库提 issue 或 PR 即可模块划分很清晰从 ToolsUtil.py 这种工具类入手改起来门槛不高。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进