QQ空间备份:手把手把五年说归档到本地Excel
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
翻到2019年的那条说说,配图已经灰了,点进去只剩一句"图片已失效"。QQ空间备份这事不能再拖——GetQzonehistory 是个免费开源小工具,自动翻遍所有历史分页,把说说、图片和评论一次性存成本地Excel。读完本文你能跑通备份。
工具速览
说白了,它就是一个自动翻页器+图片下载器+表格生成器。输入是扫码登录的QQ号,输出是一堆Excel表格和一堆本地图片,自动下载QQ空间图片也不在话下。
QQ空间备份运行界面
五分钟跑通:QQ空间说说导出
装好环境
下载项目,建一个隔离的虚拟环境(相当于给依赖单独开一个房间),把依赖装进去。
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 -r requirements.txt扫码登录
运行主程序,终端里会"画"出一个二维码,用QQ扫一下,手机上点确认。
python main.py⚠️ 二维码有效期只有2分钟左右,过期就重新运行
python main.py,不用重装任何东西。
QQ空间历史归档扫码登录
等它跑完
它每翻一页自动停3秒,你只需要等;结束后会自动打开结果文件夹,里面按QQ号分好了文件。
ls resource/result/它背后干了什么
你不需要看懂实现,但花30秒知道一下也无妨。
第一,登录走的是扫码换令牌,不碰密码:手机QQ确认后,服务端发一张会话令牌(可以理解成一张限时门禁卡),之后的请求全靠它进门,它还会缓存在本地,下次免扫码。
第二,数据靠"翻页"一页页往回拉:先问服务端总共有多少条说说,再每次拉30条,像翻手机相册,每次记住翻到的位置,接着从下一页继续,直到最早的一条。
你的数据长什么样
打开那个Excel,第一列是时间(精确到秒),第二列是内容,第三列是图片链接,第四列是评论,说说、转发、留言还各有一个分表。点赞数、评论都在里面,筛选框一拖就能分析。
QQ空间备份Excel导出结果
踩坑急救包
别慌,大概率是这几个原因,先试试,九成能解决。
- 二维码不显示→ 终端字体渲染不了字符画,或缺了zbar依赖 → 直接打开 resource/temp/QR.png 用手机扫。
- 登录后卡住不动→ 本地缓存的登录凭证过期 → 清空 resource/user 目录后重新运行、重新扫码。
- Excel写不进去→ 输出目录没权限或路径写错 → 把 resource/config/config.ini 里的 result 改成可写目录。
- 图片缺几张→ 网络抖动导致个别请求失败 → 重新运行一次程序,缺失的图片会重新下载。
玩出花来
把备份画成年度社交报告
拿pandas(一个专门处理表格的Python库)四行代码画一张柱状图,看看自己哪年话最多。
import pandas as pd df = pd.read_excel('resource/result/你的QQ号/全部列表.xlsx') df['年份'] = df['时间'].str[:4] df.groupby('年份').size().plot(kind='bar', title='年度发布数量')把QQ空间数据迁移到本地博客
项目自带第二个入口,一条命令把所有可见说说转成Markdown(可直接当博客文章用的纯文本格式),图片一并下载到同目录,整个文件夹丢进博客仓库就能用。
python fetch_all_message.py参数微调
所有配置就在 resource/config/config.ini,一共三项,都是路径:
| 参数名 | 默认值 | 什么时候需要改它 |
|---|---|---|
| result | ./resource/result/ | 想把备份存到别的盘或更好找的位置 |
| user | ./resource/user/ | 换机器、或不想让登录凭证留在项目里 |
| temp | ./resource/temp/ | 临时文件(含二维码图)想放到别处 |
今晚花十分钟跑一次,比担心"明年它还在不在"要踏实得多。💾 新说说每天都在产生,把它变成每季度跑一次的固定习惯,几年后你手里就是一整套能检索的QQ空间历史归档。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考