三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

QQ空间历史说说备份神器GetQzonehistory:扫码登录一键导出全部回忆

QQ空间历史说说备份神器GetQzonehistory:扫码登录一键导出全部回忆

QQ空间历史说说备份神器GetQzonehistory:扫码登录一键导出全部回忆

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

你的QQ空间里,是不是躺着十年甚至更久以前的说说?那些熬夜发的心情、旅行的照片、朋友评论里的插科打诨,其实一直都在QQ的服务器上,但你可能再也翻不到了——空间时间线越来越长,翻页卡顿,很多旧内容根本刷不出来。GetQzonehistory就是为解决"QQ空间历史说说备份"这个痛点而生的开源工具:只要用手机QQ扫个码,它就能自动把账号下的历史说说、转发、留言、好友信息全部抓下来,整理成Excel、网页和图片三种形态,永久保存在你的电脑上。

先说结论:这个工具到底能帮你拿回什么?

简单来说,它做三件事:读取 → 整理 → 落地

  • 把QQ空间历史消息列表里的说说逐条抓取下来,包含发布时间、正文内容、配图链接、完整评论四个维度的信息;
  • 自动把说说分成原创说说、转发内容、空间留言、其他互动几类,另外还会导出一份好友列表
  • 所有结果保存到本地resource/result/你的QQ号/目录下,Excel、HTML、图片目录三件套一次给齐。

它不满足于只备份消息列表,还内置了"可见未删除说说"的补充抓取逻辑(对应util/GetAllMomentsUtil.py),能把2014年之前的老说说和高清原图一并捞回来,再和消息列表数据合并去重,尽力让备份结果更完整。

为什么要信它:四个让你放心的理由

1. 全程本地处理,数据不出你的电脑。抓到的数据直接写入本地文件,不存在上传到第三方服务器的环节,隐私可控。

2. 官方扫码登录,不碰密码。它走的是QQ官方 ptlogin 登录链路,生成二维码后用手机QQ扫码授权,全程不输入账号密码,登录凭证也只会缓存到本地resource/user/目录。

3. 图片自动落地,链接失效也不怕。说说里带的图片会被自动下载到pic/文件夹,按说说内容关键词命名、自动处理重名、统一保存为JPG,相当于顺手做了一份照片级备份。

4. 开源透明,代码随便翻。整个项目源码开放,抓取逻辑、数据处理、导出逻辑都能逐行查看,想改想审计都自由。

5分钟上手:从零开始跑通一次备份

环境要求很低:一台装了 Python 3.6+ 的电脑(Windows / macOS / Linux 都行)、稳定的网络、以及手机里登录着的QQ。整个过程只需四步。

第一步,把项目拉到本地:

git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory

第二步,创建并激活虚拟环境(强烈推荐,避免污染系统Python):

python -m venv myenv # Windows 激活 .\myenv\Scripts\activate # macOS / Linux 激活 source myenv/bin/activate

第三步,安装依赖:

pip install -r requirements.txt

主要依赖包括 BeautifulSoup4(HTML解析)、Pandas(Excel处理)、Requests(网络请求)、Pillow(图片处理)、qrcode(二维码生成)、pyzbar(二维码识别)等。如果下载慢,可以换成国内镜像源再装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

第四步,运行主程序:

python main.py

程序跑起来后,终端里会出现一张二维码(同时会打印ASCII码版本方便你扫描),打开手机QQ扫一扫,确认登录,剩下的就交给它了。

登录那点事:扫码、缓存与多账号切换

第一次运行会走完整扫码流程,之后就不用了——登录成功后 cookie 会以QQ号命名保存在resource/user/目录。下次再跑,程序会先列出"已登录用户列表",让你选择用哪个账号,或者输入0重新扫码登录新账号。

这里值得了解两个细节:

  • 二维码有时效性,扫晚了会提示失效,重新运行即可;
  • 登录用的 cookie 文件是明文缓存,属于敏感数据,后面会讲怎么处理它。

一次备份,到底会产出哪些文件?

跑完之后打开resource/result/你的QQ号/,你会看到下面这套东西(这也是整个导出的标准结构):

具体来说,目录下包含:

文件内容
QQ号_全部列表.xlsx所有抓取到的消息原始汇总
QQ号_说说列表.xlsx你发布的原创说说(核心成果)
QQ号_转发列表.xlsx你转发过的内容
QQ号_留言列表.xlsx空间里的留言记录
QQ号_其他列表.xlsx无法归类的其他互动
QQ号_好友列表.xlsx昵称、QQ号、空间主页地址
QQ号_说说网页版.html还原QQ空间风格的离线网页
pic/全部说说的配图文件

整个流程从扫码登录、分批抓取、数据分类到多格式导出,大致对应下面这张工作流程图:

三种查看姿势:Excel分析、网页浏览、图片归档

Excel表格是最适合"折腾"的形态。说说列表的每一行包含时间、内容、图片链接、评论四列,其中评论是以结构化数组存储的(含评论时间、内容、昵称、QQ号)。你可以直接用 Pandas 做数据分析,比如统计每年发了几条说说:

import pandas as pd df = pd.read_excel('你的QQ号_说说列表.xlsx') df['时间'] = pd.to_datetime(df['时间']) print(df['时间'].dt.year.value_counts().sort_index())

HTML网页版则是最适合"回味"的形态。程序会把说说和转发按时间倒序合并渲染,头像、正文、图片、评论一应俱全,QQ表情也会还原成表情图片,双击打开就能像刷空间一样离线浏览,完全不需要网络。

pic/ 图片目录是最安心的存在。配图按说说内容关键词命名,重名自动加时间戳,格式统一为JPG,找照片、做电子相册都很方便。

进阶玩法:让备份更省心、更个性

① 设置定时自动备份。用系统定时任务挂上python main.py即可。Linux/macOS 用 crontab:

# 每月1号凌晨2点自动备份 0 2 1 * * cd /data/web/disk1/git_repo/GitHub_Trending/ge/GetQzonehistory && python main.py

② 调整抓取节奏。程序默认每抓10条休息3秒,避免请求过密。在main.py里找到time.sleep(3),改成你觉得合适的间隔即可。

③ 只备份指定年份。main.py的循环里对解析出的时间做判断,比如只保留包含"2020"的数据,就能按需裁剪备份范围。

④ 用备用脚本导出Markdown。项目里的fetch_all_message.py提供了另一条导出路径:把可见未删除的说说连同图片整理成一份 Markdown 文档,适合直接丢进笔记软件或博客系统。

避坑FAQ:遇到问题先看这张表

问题原因解决办法
扫码后登录失败手机QQ未登录 / 网络波动 / 二维码过期确认手机QQ在线,重新运行生成新二维码
只抓到部分说说空间接口限制或网络不稳多运行几次程序分次补齐,或调大抓取间隔
图片没下全图片链接失效或网络异常从Excel里的链接手动补下,检查pic/目录权限
依赖装不上网络限制 / Python版本过低换清华镜像源安装,确保Python ≥ 3.6,先升级pip
运行特别慢说说太多 / 网络延迟耐心等完或适当调短sleep间隔

另外要提前说清楚一个边界:仅自己可见的说说不在消息列表里,是抓不到的;不过项目通过"可见未删除说说"接口做了补全,能拿回多少取决于你账号的实际情况。

安全和隐私:备份之前,先记住这三条

  • 备份完成后,建议顺手删除resource/user/里的登录缓存文件,避免明文cookie长期留在磁盘上;
  • 重要的备份文件可以加密存放,并复制一份到移动硬盘或加密云盘,多一份保险;
  • 工具仅供学习与个人数据整理使用,请勿用于商业或任何侵犯他人权益的场景。

现在就开始,把青春记忆握在自己手里

平台会变、服务会停、链接会失效,但你的回忆不该跟着一起消失。GetQzonehistory 用一次扫码、几分钟等待,就能把你的QQ空间历史说说备份成一份可以随时打开、随时分析、随时迁移的本地档案。

趁数据还在,现在就动手:拉取项目 → 装好依赖 → 扫码运行 → 收获一份属于你的"数字时光胶囊"。当你十年后重新打开那份Excel和网页时,一定会感谢今天按下回车键的自己。

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

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

← 返回列表