把QQ空间十年说说完整搬回本地:免费GetQzonehistory一键备份指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
翻到去年那条动态,配图全灰,只剩一行"已过期"。十年青春寄存在别人的服务器上。GetQzonehistory 是免费开源的QQ空间历史说说备份工具,扫码登录后把说说、评论、配图自动存到本地。它做的事只有一件:把QQ空间的历史动态完整搬回本地。
先看你做完能拿到什么 📦
跑完之后,你的本地会有这些东西:
resource/result/你的QQ号/ ├── 你的QQ号_全部列表.xlsx ├── 你的QQ号_说说列表.xlsx ├── 你的QQ号_转发列表.xlsx ├── 你的QQ号_留言列表.xlsx ├── 你的QQ号_其他列表.xlsx ├── 你的QQ号_好友列表.xlsx ├── 你的QQ号_说说网页版.html └── pic/| 文件 | 内容说明 |
|---|---|
| 你的QQ号_全部列表.xlsx | 所有消息汇总:时间、内容、图片链接、评论 |
| 你的QQ号_说说列表.xlsx | 你自己发布的每条说说 |
| 你的QQ号_转发列表.xlsx | 你转发过的内容 |
| 你的QQ号_留言列表.xlsx | 留言板上的互动 |
| 你的QQ号_其他列表.xlsx | 朋友在你空间留下的动态 |
| 你的QQ号_好友列表.xlsx | 昵称、QQ号、空间主页地址 |
| 你的QQ号_说说网页版.html | 时间倒序的网页纪念册,含头像、正文、配图、评论 |
| pic/ | 配图原图,文件名取自说说内容,一眼认出是哪条 |
说白了,备份就是把数据从"借住"变成"拥有"——平台清理、账号出事,都动不了这份档案。下面按我实际跑的顺序来,每一步做完你都能对上号。
十几分钟跑完全流程
把仓库克隆到本地:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory做对了你会看到:终端切进了 GetQzonehistory 目录,没有任何报错。
接着建虚拟环境、装依赖:
python -m venv myenv source myenv/bin/activate pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt做对了你会看到:最后一行是 Successfully installed 加一串包名。Windows 用户把激活命令换成myenv\Scripts\activate即可。如果稍后运行报"找不到模块 requests",说明虚拟环境没激活,重新执行一遍激活命令就行。
装完环境后,直接启动主程序:
python main.py做对了你会看到:终端开始打印二维码获取相关的提示。登录逻辑在 util/LoginUtil.py,想核对都可以自己翻。
卡住了?现象:刚启动就报"无法找到 zbar 共享库"。 为什么:二维码识别依赖的系统库 zbar 没装。 解法:Debian/Ubuntu 执行
sudo apt install libzbar0,Fedora 系执行sudo dnf install -y zbar;macOS 上程序会引导你用 Homebrew 安装,按提示输 y 即可。装完重新运行。
接下来是扫码。终端会画出一个黑底白块的 ASCII 二维码,resource/temp/QR.png里还存了一份图片版,嫌终端里的看不清就打开这张图扫。扫码等于递给程序一张登录"通行证":它拿到 Cookie 缓存在resource/user/下,全程走官方登录流程,不碰你的密码。
做对了你会看到:终端先打印"登录成功",随后显示"用户<你的QQ号>,<昵称>登录成功"。下次再跑会先列出已登录用户让你选,不用重复扫码,通行证一般几个月才失效一次。
卡住了?现象:提示"二维码已失效",或运行报"登录失败:请重新登录"。 为什么:前者是二维码几分钟就过期了;后者是缓存的通行证失效了。 解法:确认手机QQ已登录、系统时间准确,重新运行
python main.py生成新二维码;刚被安全策略拦的话等几分钟再试,别多台设备同时登录。
扫码成功的瞬间不用动,等就行。程序会先估算消息总量(进度条显示"正在获取消息列表数量…",做二分探测要一两分钟,正常),然后Progress进度条开始走,每10条歇3秒——像请了个耐心的代抄员,一页一页翻,动作太快反而容易出问题。条数多的账号这一步偏久,慢是刻意的节奏,别急着关窗口。
卡住了?现象:中途有事想停,担心白跑。 为什么:已抓的数据还在内存里没落盘。 解法:直接
Ctrl+C。main.py里注册了 signal_handler,会先把已抓到的数据保存下来再退出,跑过的部分一份都不浪费。
进度条走完那一刻,它还会补一遍你名下未删除的说说(包括2014年以前的老内容),和消息列表去重合并。随后终端打印统计报告:共有多少条消息、最早的一条说说发布在什么时候、好友/说说/转发/留言/图片各多少,并自动打开导出文件夹。设成仅自己可见的旧说说不在消息列表里,这类天然抓不到;个别批次网络波动漏了也没关系,再跑一次就能补上。请求与解析逻辑分别在 util/RequestUtil.py 和 util/GetAllMomentsUtil.py,每一步都能自己核对。
数据落地之后,可以这么玩 🎁
三行代码看你的话痨年份
你可以试试用 Pandas 算算每年发了几条:
import pandas as pd df = pd.read_excel('resource/result/你的QQ号/你的QQ号_说说列表.xlsx') t = pd.to_datetime(df['时间']) print(t.dt.year.value_counts().sort_index())哪年话痨、哪年沉默,一目了然。再往深了做,统计高频词、看看配图数量哪几年最多,回忆就变成了一份年度报告。
配个月度自动备份
想长期留档,Linux/macOS 在 crontab 里加一行,每月1号凌晨自动跑一次;Windows 用任务计划程序新建任务,指向python main.py即可。Cookie 缓存还在就不用重新扫码,往后的新说说也会被收进这份档案。
把网页版当纪念册
双击你的QQ号_说说网页版.html,头像、昵称、正文、配图、评论按时间倒序排好,QQ表情也做了还原,离线就能翻。顺手传一份到网盘,双保险。
把回忆攥在自己手里
数据存在哪,回忆就在哪——放在别人服务器上的,永远只是复印件。
- 克隆仓库,装好环境
- 运行程序,扫码登录
- 等进度条走完
- 翻一翻 result 里的十年
工具仅限备份个人数据与学习研究,别拿去采集别人的内容。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考