news 2026/8/24 22:14:59

GetQzonehistory:QQ空间说说导出工具,一条命令保存全部历史说说和图片

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GetQzonehistory:QQ空间说说导出工具,一条命令保存全部历史说说和图片

GetQzonehistory:QQ空间说说导出工具,一条命令保存全部历史说说和图片

【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory

小周登录了三年没打开的QQ空间,想把大学时期的说说和照片备份下来,却发现官方没有导出入口:手动翻消息列表一条条复制,翻了半天只攒了几十条。GetQzonehistory 就是做这件事的:扫码登录后,自动抓完所有可见的历史说说、下载配图,并整理成 Excel 表格和 HTML 页面存到本地。

📌 它替你做了什么

自己做一次完整备份,工作量是这样的:

  • 手动方式:逐页翻空间消息列表,复制文字、截图保存图片、逐条记录评论和时间戳。以 2000 条说说为例,光复制粘贴就要几天,而且手动截图只会得到压缩过的缩略图。
  • 用 GetQzonehistory:扫码登录一次,程序按每页 10 条的节奏自动翻页抓取,每批之间间隔 3 秒;抓完后自动分类、下载原图、生成表格和网页版页面,你只需要等。

整个流程在你的电脑上完成,抓到的数据直接写入本地resource/result目录,不经过任何第三方服务器。

🚀 安装与运行

要求 Python 3.7+,四条命令即可跑起来:

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory pip install -r requirements.txt python main.py

运行后终端会输出一个 ASCII 二维码,用手机 QQ 扫码确认,登录成功后程序自动开始抓取。

📦 你会拿到什么

导出结束后,所有文件按 QQ 号分目录存放在resource/result/你的QQ号/下:

文件内容
QQ号_全部列表.xlsx抓到的全部消息记录(时间、内容、图片链接、评论)
QQ号_说说列表.xlsx你发布的原创说说
QQ号_转发列表.xlsx你转发的内容
QQ号_留言列表.xlsx好友给你留的言
QQ号_其他列表.xlsx互动列表里其他账号的动态
QQ号_好友列表.xlsx互动好友的昵称、QQ 号、空间主页
QQ号_说说网页版.html仿空间时间线的网页版,双击即可离线浏览
pic/目录所有说说配图,按内容命名

另有第二个入口fetch_all_message.py:它走空间说说列表接口,能拿到未删除的全部说说(含 2014 年之前的老说说),并额外输出一份 Markdown 文件和高清图片,适合想深挖老数据的用户。

🔍 功能深挖

扫码登录,会话本地留存

登录走的是 QQ 官方 ptlogin 扫码接口,全程不经过密码。成功后 cookie 会存到resource/user/,下次运行直接复用,不用反复扫码。实际场景:你先导出自己账号,再退出登录导另一台旧账号,第二次只需扫一次码。

分批抓取,中断也能保住进度

程序按每 10 条一批、批间休息 3 秒的节奏请求,既降低被风控的概率,也方便你观察进度。更关键的是它注册了中断信号处理:抓到一半时按Ctrl + C,已抓到的数据会先落盘再退出,不会白跑。实际场景:家里有 3000 条说说的账号,抓取要跑 40 分钟以上,中途发现要改保存目录,中断重跑即可。

按类型自动拆分,评论不丢

抓取时程序会解析每条动态的昵称、QQ 号、时间、正文、图片、评论,再按"原创 / 转发 / 留言 / 他人"四类拆成独立表格,评论数据保留在"评论"列里。实际场景:你想统计"哪几年发得最勤",直接对全部列表.xlsx的"时间"列做透视表就行,不用再从 HTML 里扒。

HTML 离线页 + 图片转高清

生成的网页版把说说按时间倒序排成时间线,QQ 表情代码会被替换成表情图片,图片地址自动从缩略图(/m/)换成高清版(/s/),断网双击也能看。实际场景:把 HTML 和pic/一起拷进 U 盘送给家人,或者打印成纪念册。想改样式的话,模板在 util/ToolsUtil.py 里,改一处全局生效。

👥 谁在用它

毕业多年的老校友

  • 需求:空间五年没登录,怕毕业季的照片和日记随平台变动丢档
  • 动作:跑了一次main.py,再补跑一次fetch_all_message.py拉 2014 年前的老说说
  • 效果:导出 1400 条说说和 600 多张图片,HTML 版直接投屏给同学会分享

做年终复盘的自媒体作者

  • 需求:从多年前的日记体说说里找可以重新打磨的素材
  • 动作:导出后在 Excel 里按年份筛选"内容"列
  • 效果:10 分钟定位到 2016 年那批长文,比翻网页快得多

⚠️ 避坑指南

  1. Linux / macOS 上二维码解不出来?pyzbar依赖系统 zbar 库,缺失时程序会直接退出并提示。Linux 装zbar(如sudo dnf install zbar),macOS 执行brew install zbar即可,程序检测到 Homebrew 时甚至会引导你自动装。
  2. 抓不全?先分清边界。工具只能拿到"消息列表 + 可见说说"里的内容:仅自己可见的说说、已删除且不在列表里的动态都拿不到。想要未删除的全部老说说,用fetch_all_message.py补一次。
  3. 别嫌它慢。10 条一批 + 3 秒间隔是刻意的限速,几千条说说跑一小时属正常现象;中断用Ctrl + C(会自动保存),不要直接杀进程。
  4. 某一批抓取失败会被跳过。网络抖动时日志会提示"获取消息失败:第 N 批次",该批 10 条会缺失,重跑一次即可补齐;fetch_all_message.py有 JSON 缓存,重跑不会重复拉已取过的页。
  5. 失效图片会被静默跳过。老图片链接过期时程序不报错也不留占位,导出后如果发现某条说说没有图,多半是这个原因。

🏁 三步开始

GetQzonehistory 的价值一句话:把"翻空间"这件苦差事,变成"扫一次码、等它跑完"。

  1. 克隆仓库并安装依赖
  2. python main.py扫码登录
  3. resource/result/你的QQ号/里收走 Excel、图片和 HTML

最后提醒:工具只应导出你自己账号的数据,备份内容涉及你和好友的隐私,请妥善保管、不要公开传播。

【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 22:10:51

2026贵阳工程建筑材料检测排名 TOP5 CMA 资质提供钢材检测、水泥检测、砂石检测 全覆盖联系方式推荐.txt

贵阳建筑材料检测市场里,大大小小的检测机构鳞次栉比,资质水平却鱼龙混杂。建筑总包单位、建材生产厂家、市政工程项目、装修建设企业在选材验收时,稍不留神就会遇上无资质机构,其出具的检测报告无法用于工程报审与竣工验收备案&a…

作者头像 李华
网站建设 2026/8/24 22:09:26

如何把算法编译进Transformer权重_torchwright编译器原理详解

如何把算法编译进Transformer权重:torchwright编译器原理详解 “我不能创造的东西,我就不理解。” —— 费曼 当所有人都在用梯度下降训练Transformer时,Rob Porter问了一个更根本的问题:如果我直接计算正确的权重呢? …

作者头像 李华
网站建设 2026/8/24 22:08:34

2条命令跑通手机号查QQ:phone2qq上手记

2条命令跑通手机号查QQ:phone2qq上手记 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 室友在找当年高三注册的QQ,只记得当时收验证码用的手机号,账号本体早忘了。phone2qq就是干这事的&#xff1…

作者头像 李华
网站建设 2026/8/24 22:03:42

Cap:录完即得分享链接的开源录屏工具

Cap:录完即得分享链接的开源录屏工具 【免费下载链接】Cap Open source Loom alternative. Beautiful, shareable screen recordings. 项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap 当客户说"页面白屏了",最快的回应方式不…

作者头像 李华
网站建设 2026/8/24 22:03:37

vue3-异步编程

太棒了!异步编程(尤其是 Promise)确实是前端开发中最核心也最容易出bug的知识点。别担心,我们完全可以把这块硬骨头啃下来。既然你已经在写 axios.get().then(res > res.data),我们就从这段代码出发,层层…

作者头像 李华