GetQzonehistory 使用教程:一键导出 QQ 空间全部历史说说、评论与图片
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
如果你的 QQ 空间堆着上千条历史说说,GetQzonehistory 能一次性把它们连同评论、转发、留言和配图全部搬进你的电脑:免费、开源,产出 6 张 Excel 表格、一个可双击打开的离线网页和一张张图片的本地文件夹。本文先带你逐项对账跑完能拿到什么,再倒推数据是怎么抓下来的,最后给出一套可以直接照抄的命令和一份常见卡点对照表。
一次跑完能验收什么
程序跑完后会自动打开resource/result/你的QQ号/文件夹,控制台同时打印总条数、最早一条说说的时间、各类消息数量和图片张数。里面的东西可以逐项对账:
| 文件 | 里面是什么 | 怎么验收 |
|---|---|---|
QQ号_全部列表.xlsx | 抓到的全部消息 | 四列:时间、内容、图片链接、评论 |
QQ号_说说列表.xlsx | 你本人发布的说说 | 内容与全部列表中属于你的行一致 |
QQ号_转发列表.xlsx | 你转发过的每一条 | 内容列含"转发"字样 |
QQ号_留言列表.xlsx | 你留在空间留言板的互动 | 时间、内容、图片链接三列 |
QQ号_其他列表.xlsx | 好友出现在你动态里的消息 | 三列,无评论 |
QQ号_好友列表.xlsx | 互动过的朋友 | 昵称、QQ、空间主页三列 |
QQ号_说说网页版.html | 说说+转发按时间倒序的离线网页 | 双击打开,不联网也能看 |
pic/ | 全部配图 | 文件名取自说说正文前 40 字 |
每一行都带精确到秒的发布时间,图片 URL 独立占一列,评论按"谁、何时、说了什么"逐条拆开存。
网页版还原了头像、昵称、正文、配图和评论区,QQ 表情换成了图片显示;渲染时缩略图参数会被替换成原图参数,点开大图,本地文件则直接落在pic/里,哪天原链接失效,图还在你机器上。
抓取链路:数据从哪来,存到哪
登录:只扫码,不打密码
程序启动后在终端直接打印一个 ASCII 二维码(实现在 登录模块),手机 QQ 扫一下就算登录,全程不输入密码。拿到的 Cookie 存进resource/user/下以 QQ 号命名的文件;下次运行会列出已登录账号让你选序号,输 0 才是重新扫码。
抓取:两路数据合并,分批限速
数据分两路。第一路是空间历史消息列表接口,每批 10 条,批与批之间刻意停 3 秒限速,见 请求模块;第二路是"未删除的可见说说"接口(实现),每页 30 条,能补到 2014 年之前的老内容。两路按正文去重合并后才分类落盘。原始响应缓存在resource/fetch-all/QQ号/下,重跑不重复拉取,多账号互不串;注意缓存命中时分类和图片下载仍会重新执行一遍。
中断也不白跑
按Ctrl+C时,main.py 里注册的signal_handler会先把已抓到的内容存盘再退出。进度条走得慢就停掉,下次接着跑,已有数据不会丢。
快速跑通:六条命令从克隆到验收
环境只需要 Python 3,Windows、macOS、Linux 都能跑:
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 -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt python main.py启动后终端出现二维码就是第一步,扫完等进度条,看到"导出成功,请查看 resource/result/..."提示时去自动打开的文件夹对账。不想配环境的话,仓库 release 里有打包好的单文件可以直接执行;仓库里另有 fetch_all_message.py,单独运行它能把可见说说另存成一份 Markdown,图片也一并下载。
常见卡点对照表
| 现象 | 多半原因 | 处理办法 |
|---|---|---|
| pip 装依赖很慢或失败 | 网络源问题 | 换国内镜像源重装,命令见上一节 |
| 提示"无法找到 zbar 共享库" | 缺二维码识别组件 | RPM 系 Linux 执行sudo dnf install -y zbar;macOS 由登录模块引导你用 Homebrew 安装并自动建软链接 |
| 扫码后"二维码已失效"或长时间无反应 | 手机 QQ 未在线、二维码过期或系统时间不准 | 重新运行生成新码;刚被风控拦截时等几分钟再试 |
| 只抓到一部分说说 | 仅自己可见的内容不在消息列表;网络抖动漏批 | 属正常范围,可多运行几次,已抓到的部分会先存盘 |
| 跑得特别慢 | 批间停顿是刻意限速 | 正常现象,也可以分多次跑 |
能力边界:哪些拿不到,为什么
工具读的是"消息列表 + 可见说说"两个接口,仅自己可见的说说、已删除的内容、点赞数、好友空间的动态详情天然不在结果里——这是数据来源决定的上限,不是 bug,别当 bug 排查。
进阶玩法:统计、定时任务与私人索引
用 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()) # 每月发了几条 print(df['内容'].str.len().sort_values(ascending=False).head(3)) # 最长的三条让备份自己按时跑
Cookie 可复用,定时任务不需要再扫码。Linux/macOS 在 crontab 里加一行,每月 1 号凌晨 3 点跑一次:
0 3 1 * * cd /path/to/GetQzonehistory && source myenv/bin/activate && python main.pyWindows 用任务计划程序做同样的事即可。想找某条特定说说的,先在 Excel 里按时间筛选定位,再回网页版看配图和评论上下文,比在空间里一页页翻快得多。
🔒 安全与合规红线:数据只在你本地落地
- 抓到的数据只写入你自己硬盘的
resource/result/,不经过任何第三方服务器。 - 登录靠扫码,不收集密码;Cookie 就在
resource/user/,不放心就删掉文件重扫。 - 全部代码开源可查:登录在 util/LoginUtil.py,请求在 util/RequestUtil.py,说说解析在 util/GetAllMomentsUtil.py,输出路径配置在
resource/config/config.ini。 - 红线只有一条:只备份你自己账号的数据,不要拿它去抓别人的空间。项目声明仅供学习与技术研究,不得用于商业或非法用途。
现在就能做完的五个动作
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory - 建虚拟环境、装依赖(卡住就换镜像源),然后运行
python main.py - 终端出现二维码,手机 QQ 扫码完成登录
- 等进度条走完,到
resource/result/你的QQ号/对账:六张表、网页版、高清图 - 用得顺手,去项目主页点一颗 Star
今晚花二十分钟走完一遍,你空间里十年的数据就有了第二份本地存档。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考