GetQzonehistory 完整教程:免费导出 QQ 空间全部历史说说
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
免费 QQ 说说备份:跑完你能拿到什么
GetQzonehistory 是一款免费开源的 QQ 说说备份工具:手机 QQ 扫码一次,它就把你 QQ 空间的历史说说、转发、留言、评论和配图一次性抓下来,全部落到本地硬盘。跑完你会得到 6 张 Excel 表、一个可双击打开的离线 HTML 网页和一个高清图片文件夹。从克隆仓库到出现二维码,只需几分钟。
环境安装与启动一步到位
环境只需要 Python 3,Windows、macOS、Linux 都能跑。按下面这条命令流克隆并启动,装依赖慢就把 pip 那一行换成阿里云镜像源:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv source myenv/bin/activate pip install -r requirements.txt python main.pyWindows 上第四行改为myenv\Scripts\activate。不想配环境的话,仓库 release 里有打包好的单文件,可以直接执行。
主流程:跟着跑一遍
运行python main.py,按四步走完:
- 终端会打印一个 ASCII 二维码,手机 QQ 扫码即完成登录,全程不输密码;出码后终端每几秒打印一次登录状态。
- Cookie 按 QQ 号存进
resource/user/下的文件,再次运行会列出已登录账号让你选序号,输 0 才是重新扫码。 - 登录成功后进度条开始走:历史消息每批 10 条,批与批之间刻意停顿;可见说说接口每页 30 条,能补到 2014 年之前的老内容,两路合并去重后分类落盘。
- 跑完控制台打印"导出成功",自动打开
resource/result/QQ号/文件夹,给出总条数、最早一条说说时间和图片张数;中途按Ctrl+C,已抓到的数据也会先存盘,下次接着跑。
原始请求按 QQ 号缓存在resource/fetch-all/下,重跑不会重复拉取,多账号互不串。
📦 产出物清单:逐项验收
GetQzonehistory 的全部产出都在resource/result/QQ号/里,对照下表验收:
| 文件 | 里面是什么 |
|---|---|
QQ号_全部列表.xlsx | 抓到的全部消息:时间、内容、图片链接、评论 |
QQ号_说说列表.xlsx | 你本人发布的说说 |
QQ号_转发列表.xlsx | 你转发过的每一条内容 |
QQ号_留言列表.xlsx | 你留在空间留言板的互动 |
QQ号_其他列表.xlsx | 好友出现在你动态里的消息 |
QQ号_好友列表.xlsx | 互动好友的昵称、QQ 号、空间主页地址 |
QQ号_说说网页版.html | 说说+转发按时间倒序的离线网页 |
pic/ | 全部配图,文件名取自说说正文,方便对号 |
每一行都带精确到秒的发布时间,图片 URL 独立占一列,评论按"谁、何时、说了什么"逐条拆开存,后续在 Excel 里筛选都很方便。说说网页版.html还原了头像、昵称、正文、配图和评论区,QQ 表情也换成了图片显示;双击就能离线看,渲染时还会把缩略图参数换成原图参数,点开即是大图。pic/目录里的图片是下载好的本地副本,哪天原链接失效,图还在你机器上。
覆盖边界:能拿什么、拿不到什么
- 数据来自两路:"QQ 空间历史消息列表"和"未删除的可见说说",只有这两路能看到的才进结果。
- "仅自己可见"的说说、消息列表之外的内容天然不在结果里,这是数据来源决定的上限,不是 bug。
- 2014 年之前的老说说由可见说说接口补齐,会进结果。
- 批间停顿是刻意限速,每批停几秒,消息越多总时长越长,属正常设计。
⚠️ 常见报错对照:卡住先查这里
卡住多半集中在依赖、登录、速度三类,先对照下表:
| 现象 | 大概率原因 | 处理办法 |
|---|---|---|
| pip 装依赖慢或失败 | 网络源问题 | 换镜像源重装:pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt |
| 提示"无法找到 zbar 共享库" | 缺二维码识别组件 | RPM 系 Linux 执行sudo dnf install -y zbar;macOS 由程序引导你用 Homebrew 安装并自动建软链接 |
| "二维码已失效"或长时间无反应 | 二维码过期、手机 QQ 不在线或系统时间不准 | 重跑python main.py生成新码;刚被风控拦截就等几分钟再试 |
| 只抓到一部分说说 | 仅自己可见的内容不在列表,或网络抖动漏批 | 属正常范围;可多运行几次,已抓到的部分会先存盘 |
| 跑得特别慢 | 批间停顿是刻意限速 | 正常现象,也可以分多次跑 |
进阶玩法:统计与定时任务
备份落盘之后,数据还能这样用。fetch_all_message.py 是个轻量入口,单独运行能把全部可见说说另存成一份 Markdown,图片也一并下载。
用 Pandas 算出你的年度话痨月
Excel 列名是现成的,几行代码就能出统计:
import pandas as pd df = pd.read_excel('你的QQ号_说说列表.xlsx') df['时间'] = pd.to_datetime(df['时间'], format='%Y年%m月%d日 %H:%M:%S') print(df.groupby(df['时间'].dt.to_period('M')).size())"内容"列是说说全文,再用str.len()可以找出最长的几条;往上还能加词频统计、配图数量随时间的变化,回忆就能变成一张图表。
让备份自己按时跑
Cookie 本地可复用,定时任务不需要再扫码,GetQzonehistory 也支持断点续跑,多次执行没问题。Linux/macOS 在 crontab 里加一行,每月 1 号凌晨 3 点自动跑一次;Windows 用任务计划程序做同样的事:
0 3 1 * * cd /path/to/GetQzonehistory && source myenv/bin/activate && python main.py🔒 安全与红线
- 抓到的数据只写入你自己硬盘的
resource/result/,不经过任何第三方服务器。 - 登录靠扫码,不收集密码;Cookie 就在
resource/user/,不放心就删掉重扫。 - GetQzonehistory 全部代码开源可查:登录在 util/LoginUtil.py,请求在 util/RequestUtil.py,说说解析在 util/GetAllMomentsUtil.py,输出路径配置在 resource/config/config.ini。
- 红线:只备份你自己空间的内容,不要拿它去抓别人的数据;项目仅供学习与技术研究,不得用于商业或非法用途。
今晚克隆下来跑一遍,你空间里十年的说说和配图,就在自己硬盘上有第二份存档了。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考