GetQzonehistory:一条扫码命令,把QQ空间的历史说说、留言和评论导出成6张表格
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
先说个真实场景:帮朋友把旧笔记本上的数据搬去新设备时,他最担心的不是照片,而是QQ空间里写了多年的说说。官方客户端根本没有"数据导出"入口,一条一条手抄截图完全不现实。我给他跑了开源项目 GetQzonehistory:程序完全在自己电脑上运行,走官方扫码登录,不碰账号密码,把历史说说、留言、评论、转发连同配图批量备份成本地 Excel 和一个 HTML 网页。
一、登录机制与数据去向:为什么敢拿账号去跑
它不收账号密码。程序调起 QQ 官方登录接口生成二维码,用手机 QQ 扫一下、点确认,认证就完成了,全程只存一份 cookie 凭证,密码本身不落地。凭证文件放在本地 resource/user/ 目录下,下次运行直接选择已登录用户,免扫。
说白了,请求只打给 QQ 空间官方接口,结果全部写进本地磁盘,数据不经过任何第三方服务器中转。想核对细节可以看登录模块 util/LoginUtil.py,二维码怎么来、cookie 怎么存,代码都在里面。
二、一键导出步骤:从克隆仓库到收齐6张表格
① 克隆仓库,建一个独立虚拟环境:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory python -m venv myenv把依赖装进隔离目录,才不会污染电脑上其他 Python 项目。
⚠️ 激活命令分系统:Windows 是 myenv\Scripts\activate,macOS/Linux 是 source myenv/bin/activate。激活没生效时,python 指向的还是系统环境,后面装依赖全白搭。
② 安装依赖:
pip install -r requirements.txt依赖不多,但每个都有分工:requests 发请求,beautifulsoup4 解析页面,pandas 生成 Excel,qrcode 渲染二维码,tqdm 画进度条,pyzbar 负责解码二维码。
💡 pyzbar 在 Windows 上装完一般就能用;macOS 缺 zbar 共享库时先执行 brew install zbar,RPM 系 Linux 执行 sudo dnf install -y zbar,装完再跑。
③ 扫码登录:
python main.py终端会打印一个字符二维码,手机 QQ 扫掉确认即可。首次必须扫码,之后复用本地凭证。
④ 等它跑完,顺手验收:
程序先统计互动消息总数,再按每页 10 条分批拉取,批与批之间固定停 3 秒。这是防风控的节奏,耐心等就好。进度条走完后,自动分类、下载配图、生成网页版,然后弹出结果文件夹,终端同时报出汇总数:消息总条数、最早一条说说的发布时间、好友数、图片数,数量对不对一眼可见。
三、导出产出清单:6张表格+1个网页版+1个图片目录
所有成果落在本地 resource/result/QQ号/ 目录,跑完程序自动打开该文件夹:
| 文件 | 里面是什么 |
|---|---|
| QQ号_全部列表.xlsx | 全部互动消息按时间排的完整清单 |
| QQ号_说说列表.xlsx | 你自己发的原创说说 |
| QQ号_转发列表.xlsx | 你转发过的内容 |
| QQ号_留言列表.xlsx | 收到的留言记录 |
| QQ号_好友列表.xlsx | 留过互动痕迹的好友昵称、QQ号、空间主页 |
| QQ号_其他列表.xlsx | 没归进上面几类的剩余记录 |
| QQ号_说说网页版.html | 还原空间信息流样式的网页,打开即读 |
| pic/ 目录 | 说说配图,按内容命名归档 |
手动备份是零散的:抄着抄着漏,截图掉清晰度,评论点赞基本丢光,还得反复输账号密码。跑一次这个,时间、文字、图片、评论四样一起进表格;配图按原图下载、按内容命名,撞名自动加时间戳防覆盖,链接也会被程序替换成高清版本。
四、哪些记录拿得回、哪些拿不回:能力上限
别被"导出"两个字骗了,先把线划清楚:
- 能拿回:历史消息列表里还留着的记录(评论、点赞、转发、留言),以及空间里当前仍可见的说说。两条通道抓完自动去重合并。
- 拿不回:已彻底删除的说说;设成"仅自己可见"且从没进过消息列表的记录;平台规则变动后从列表里消失的老互动。
上限一句话概括:列表里还留着、空间里还看得见,才拿得到。所以别指望"全找回";如果已经发现列表变短了,越早跑越好,能落盘的赶紧落盘。
五、故障速查:4个高频问题与解法
- 二维码扫了没反应?多半是码过期了。重新执行 python main.py 出新码,同时确认手机、电脑网络正常,没被代理工具拦掉登录请求。
- 登录时提示 zbar 相关错误?系统缺二维码解码库。macOS 跑 brew install zbar,RPM 系 Linux 跑 sudo dnf install -y zbar,装完重跑一次。
- 导出到一半断了?不用慌。程序注册了中断保护:中途 Ctrl+C 或进程被杀,都会先把抓到的数据写盘再退出,Excel 不会坏,重跑一次即可。
- Excel 打不开?先确认 WPS、Office 没占用文件,关掉重开;再不行就换在线表格,或用 pandas 读 .xlsx,都没问题。
六、数据到手后的用法:3个玩法加1个习惯
把"全部列表"按年份切开,哪年去了哪座城市、和谁往来最勤,一份年度回顾就读出来了;用透视表统计每个好友的互动次数和最近一次互动时间,谁近谁淡一目了然;再把 result 目录整体拷一份到移动硬盘,网页版 HTML 转成 PDF 丢进网盘,多介质多位置才算真备份。
留个习惯:每季度全量跑一遍备份。QQ 接口若有调整,跟进项目仓库的更新即可。
数据落到自己硬盘里,往后的存放年限,由你说了算。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考