GetQzonehistory:5分钟导出QQ空间说说
GetQzonehistory5分钟导出QQ空间说说【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryGetQzonehistory 是一个本地运行的开源 Python 工具扫码登录后自动拉取 QQ 空间的历史消息列表与未删除说说导出为 Excel 表格和还原版网页把历史说说整份存进你自己的硬盘。你有没有翻到过一条 2014 年的旧说说却发现消息列表已经翻不到那么久了记录其实还留在账号里只是缺一个能把它批量搬回来的办法。项目定位它和手动备份差在哪先说清楚它是什么和不是什么它是本地运行的命令行小工具依赖 requests、pandas 等常见 Python 包完整清单见 requirements.txt跑完即走它不是不做任何第三方转发解析、下载、导出全程在你自己的机器上完成不经过中间服务器覆盖边界数据来自消息列表与未删除说说两个接口从未出现在这两个来源里的旧说说比如仅自己可见且已删除的不在覆盖范围和手动备份的差异用一张表说清维度手动备份GetQzonehistory登录人工操作浏览器官方扫码会话存本地可复用范围只能截当下可见的页面消息列表 未删除说说分页拉全产出零散截图Excel 表格 HTML 网页 图片存档隐私链路数据经手手机相册等应用全程本地处理从零跑通安装并首次运行环境要求 Python 3.6Windows、macOS、Linux 都支持。嫌装环境麻烦的话README 提到项目 release 页面提供打包好的单文件可直接执行下面是源码方式# 克隆项目并进入目录 git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory # 创建并激活虚拟环境Windows 激活命令为 myenv\Scripts\activate python -m venv myenv source myenv/bin/activate # 安装依赖 pip install -r requirements.txt # 运行主程序 python main.py首次运行main.py之后你会依次看到这几件事打印登录二维码——终端输出黑底白块的 ASCII 码用手机 QQ 扫描探测消息总量——用二分法反复请求消息接口确定你的历史消息总条数分批拉取互动记录——每 10 条一页批与批之间自动停顿数秒限速补拉未删除说说——按 30 条/页分页请求说说接口补上消息列表没有的早期原创导出并打开结果目录——写完多份 Excel、下载图片、渲染网页后自动打开目录终端打印各类条目统计GetQzonehistory 功能拆解数据流向与模块分工整体思路是一条直线扫码拿到 cookie二分探测消息总量每 10 条一页拉互动记录同时调未删除说说接口补齐原创内容两份数据按正文去重合并再分类落盘。入口逻辑在 main.py目录组织可对照 README.MD 中的结构说明。具体职责拆到五个模块模块职责技术特征util/LoginUtil.py扫码登录、cookie 管理官方扫码流程每 3 秒轮询状态会话缓存到本地util/RequestUtil.py请求历史消息列表二分探测总量批间限速util/GetAllMomentsUtil.py拉取未删除说说30 条/页分页请求 JSON 接口util/ConfigUtil.py配置与目录初始化按 config.ini 管理 temp/user/result 三段路径util/ToolsUtil.pyHTML 模板与文本清洗内置网页版模板QQ 表情代码转图片标签模块拉完的数据最终会变成下面这些产出全部落在你的硬盘上产出文件格式典型用途{QQ号}_全部列表.xlsxExcel按时间排序的完整互动时间线{QQ号}_说说列表.xlsx / 转发列表.xlsx / 留言列表.xlsxExcel原创、转发、留言分开归档{QQ号}_好友列表.xlsxExcel互动好友的昵称、QQ号、空间主页链接{QQ号}_说说网页版.html网页还原空间样式的离线浏览pic/ 目录图片文件说说图片的本地存档只靠消息列表为什么不够因为早期只发过、后来没人互动的原创说说可能早已不在消息列表里而未删除说说接口恰好能把它捞回来——这就是两份数据源合并的意义。实战走一遍登录、拉取和产物在哪里第一步扫码登录与鉴权运行python main.py后终端会打印一个黑底白块的二维码用手机 QQ 扫一下并在手机上确认。登录成功会看到用户QQ号登录成功的提示。背后发生了什么程序模拟的是 QQ 官方扫码登录流程轮询扫码状态直到拿到完整 cookie。cookie 会写入 resource/user/ 目录下次运行会出现已登录用户列表输入序号即可免扫码复用输入 0 则重新登录。第二步数据拉取过程扫码成功后不需要任何操作终端先滚动一段正在获取消息列表数量的进度条随后进入Progress分批进度。数据量大时这一步是耗时主体耐心等完即可。背后是两条数据流消息列表接口每 10 条请求一次并解析 HTML 条目未删除说说接口按 30 条/页请求 JSON且带本地缓存中断重跑时已拉取的部分不用重来。第三步产物在哪、长什么样导出结束后程序会尝试自动打开结果目录打不开时终端会打印路径位置固定在resource/result/你的QQ号/resource/result/你的QQ号/ ├── 你的QQ号_全部列表.xlsx ├── 你的QQ号_说说列表.xlsx ├── 你的QQ号_转发列表.xlsx ├── 你的QQ号_留言列表.xlsx ├── 你的QQ号_好友列表.xlsx ├── 你的QQ号_说说网页版.html └── pic/ # 说说图片本地存档各份 Excel 的列结构是统一的留言与其他列表不含评论列字段类型说明时间日期时间2015年06月01日 20:30 格式内容文本昵称正文 结构便于区分发布者图片链接超链接多张图片用英文逗号分隔评论结构化列表按 [时间, 内容, 昵称, QQ号] 逐条存储另外中途按 CtrlC 也不会丢数据程序注册了信号处理退出前会把已拉到的内容先存盘。踩坑与调优导出常见问题速查按出现频率排一下遇到先对号入座⚠️Linux/macOS 启动报无法找到 zbar 共享库——pyzbar 依赖系统 zbar。RPM 系系统执行sudo dnf install -y zbarmacOS 用 Homebrew 安装程序检测到 Homebrew 后会引导你一键安装扫码后一直停在二维码认证中——手机上没有点确认或二维码已失效。重新运行生成新码再扫失效后终端会明确提示长任务中途 CtrlC——不是白跑。已有数据会先落盘再退出cookie 缓存在 resource/user/重跑时选序号复用登录即可提示获取消息失败第 N 批次返回值为空——请求超时连接 5 秒/读取 10 秒。换稳定的有线网络重跑已保存数据不受影响导出条数比记忆里少——这是数据来源边界仅自己可见且已删除的旧说说两个接口都取不到pip 装依赖失败——多为网络问题。把-i参数换成国内镜像源再装一次即可还能怎么用它三个延伸用法数据分析全部列表天然是 pandas 结构读进 DataFrame 就能做按年份的话题与情感统计纪念内容HTML 网页版适合离线翻阅pic/ 图片存档可以直接做年度回顾素材爬虫学习fetch_all_message.py 单独展示了分页拉取 JSON 解析 Markdown 输出的完整最小流程⚠️ 请只导出自己账号的数据并遵守 QQ 平台条款与当地法规。导出内容包含好友的评论与留言对外分享前注意删除或打码他人信息。那些翻不到的旧说说并没有丢只是等一个把它们整份搬回来的工具。把硬盘腾出一点空间剩下的交给它。克隆仓库并创建虚拟环境安装系统 zbarLinux/macOS 必须用 pip 装好 requirements.txt 里的依赖运行python main.py手机 QQ 扫码登录等进度条走完到resource/result/你的QQ号/查看 Excel 与网页版把表格和图片归档到本地硬盘或私有存储双份存放更稳妥记忆不怕时间长怕的只是再没人替它存档。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

复盘TCP/IP四层模型:从抓包到排障,真正理解网络分层

复盘TCP/IP四层模型:从抓包到排障,真正理解网络分层

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 19:18:18 阅读更多 →
LLVM与编译器基础:从IR到Pass的实战指南

LLVM与编译器基础:从IR到Pass的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 19:18:18 阅读更多 →
ANSYS Workbench零基础认知框架:从界面隐喻到工程验证

ANSYS Workbench零基础认知框架:从界面隐喻到工程验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 19:17:18 阅读更多 →

最新新闻

Roc 语言 return 语句深度解析:从语法快照测试到编译器源码实现

Roc 语言 return 语句深度解析:从语法快照测试到编译器源码实现

【免费下载链接】roc A fast, friendly, functional language. 项目地址: https://gitcode.com/GitHub_Trending/ro/roc 点击查看 免费下载 本篇以 Roc 编译器仓库中的快照测试文档 test/snapshots/statement/return_stmt.md 为核心线索,系统讲解 retur…

2026/9/20 20:34:01 阅读更多 →
5 分钟上手 QuickRecorder:不到 10MB 的免费 macOS 录屏工具

5 分钟上手 QuickRecorder:不到 10MB 的免费 macOS 录屏工具

5 分钟上手 QuickRecorder:不到 10MB 的免费 macOS 录屏工具 【免费下载链接】QuickRecorder A lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具 项目地址: https://gitcode.com/GitH…

2026/9/20 20:34:01 阅读更多 →
Codeium 装进 IDEA 卡在注册页?TaoToken 的 Key 直接填进模型通道

Codeium 装进 IDEA 卡在注册页?TaoToken 的 Key 直接填进模型通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 20:34:01 阅读更多 →
UE4取色器实现里的 GetPixel HDC 释放,把 Codex 的接口地址改到 TaoToken 后对照检查

UE4取色器实现里的 GetPixel HDC 释放,把 Codex 的接口地址改到 TaoToken 后对照检查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 20:34:01 阅读更多 →
2026前端AI编程工具实测:从补全到workflow的选型指南

2026前端AI编程工具实测:从补全到workflow的选型指南

我还记得2025年年初,团队里聊AI编程工具还停留在“哪个补全更跟手”的阶段,到了2026年,问题已经变成了“AI编程工具这么多,前端开发到底该押注哪一款”。前端开发因为反馈链路短、代码可视化程度高、框架生态集中,一直…

2026/9/20 20:34:01 阅读更多 →
抖音视频批量下载与无水印保存完整指南:douyin-downloader 使用教程

抖音视频批量下载与无水印保存完整指南:douyin-downloader 使用教程

抖音视频批量下载与无水印保存完整指南:douyin-downloader 使用教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser f…

2026/9/20 20:33:00 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →