如何用 Python 备份 QQ 空间全部说说:GetQzonehistory 完整教程

如何用 Python 备份 QQ 空间全部说说:GetQzonehistory 完整教程 如何用 Python 备份 QQ 空间全部说说GetQzonehistory 完整教程【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryGetQzonehistory 是一个用 Python 编写的说说备份工具可以完成完整的 QQ 空间备份把账号下全部说说、评论和附带图片抓取下来导出为 Excel、HTML 和本地图像文件夹。全程只需手机扫码之后交给程序自己跑结果按你的 QQ 号存进独立目录。一、备份包长什么样QQ 空间备份结果先行先看看最终会拿到什么。程序跑完所有文件落在resource/result/123456789/下resource/result/123456789/123456789_全部列表.xlsx全部可见说说123456789_说说列表.xlsx自己发布的原创123456789_转发列表.xlsx分享内容123456789_留言列表.xlsx好友在说说下的评论123456789_其他列表.xlsx好友发在你空间的内容123456789_好友列表.xlsx出现过的好友昵称、QQ 号与空间主页123456789_说说网页版.html时间线网页pic/全部附带图片文件名取自说说正文6 张 Excel 按内容类型划分每张表都是同样的四列时间、内容、图片链接、评论。全部列表是可见说说的全集说说列表转发列表留言列表把原创、分享和好友评论分开方便单独处理好友列表则额外记下互动过的好友顺手就是一张通讯录。说说网页版.html还原了接近空间网页版的阅读体验。原创与转发合并成一条时间线按时间倒序排列QQ 表情转换成图片显示图片直接内嵌每条评论连同评论者头像一起展开。用浏览器打开就能翻看适合离线归档或发给朋友。pic 文件夹是 QQ 空间图片下载的落地结果。说说里的图片会被逐张下载文件名由说说正文派生非法字符替换为下划线超过 40 个字符自动截断重名时追加时间戳避免覆盖。跑完就得到一套可以按年份、按事件整理的本地图库。导出的结构说到这里就清楚了接下来看怎么把它跑出来。二、三步跑起来安装依赖与扫码登录第一步准备环境。克隆仓库并安装依赖Python 3.8 以上即可git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory pip install -r requirements.txt第二步登录。运行主程序终端里会出现一张字符画出的二维码python main.py用手机 QQ 扫码确认即可二维码失效时重跑一次就行全程不需要输入密码。登录逻辑集中在 LoginUtil.py 里二维码已失效登录成功等状态都会实时打印在终端上。第三步等待完成。登录成功后程序先用二分法估算消息总数再按每批 10 条抓取历史消息列表批间暂停 3 秒随后切换说说列表接口按每页 30 条拉取全部未删除的说说2014 年之前的内容也在范围内。终端全程显示进度1000 条说说约需 15~30 分钟。中途按 CtrlC 也没关系。程序注册了信号处理函数退出前会先把已抓到的数据落盘已抓取的说说列表还会写入本地缓存 JSON重跑时不重复请求这部分内容断点恢复的代价很小。三、为什么它是安全的扫码认证与本地处理跑起来之后更该关心的是信任问题。该工具的登录设计很直白不碰密码。它走腾讯官方扫码登录接口先请求一张二维码画到终端里再轮询扫码状态你在手机确认后本次登录生成一份会话 cookie密码没有出现在任何环节里。会话与数据都留在本地。登录拿到的 cookie 按 QQ 号写入 resource/user/ 下的文件后续所有请求都由你自己的机器发出说说文本、评论、图片只往本地硬盘写。程序没有别的上传通道网络访问目标限定在 QQ 空间登录与消息接口。代码完全开源每一步都可以核对。整个工具只有十几个文件这个 Python QQ 空间说说爬虫的请求逻辑集中在 util/ 下的几个文件里打开 GetAllMomentsUtil.py 就能看到它调用了哪些接口、数据写到哪里。四、进阶玩法用 pandas 分析说说与制作年度回忆数据到手后还可以让它更实用一些。用 pandas 分析发帖习惯全部列表可以直接用 pandas 读取几行代码就能按年份统计说说数量看看哪一年你最爱记录生活import pandas as pd df pd.read_excel(123456789_全部列表.xlsx) df[时间] df[时间].str.replace(年, -).str.replace(月, -).str.replace(日, ) df[时间] pd.to_datetime(df[时间]) print(df.groupby(df[时间].dt.year).size())在此基础上继续扩展可以按月分组找最活跃的时段也可以按评论条数排序挑出互动最多的那几条。制作年度回忆或电子相册pic 文件夹的文件名就是说说正文天然形成图文对应关系。想做电子相册时从 Excel 里筛出某一年的记录再按文件名把对应图片挑进相册即可HTML 时间线也能直接当作素材挑喜欢的页面打印或导出。每年年末做一次这样的回顾是个很稳定的用法。五、常见卡点速查路不总是一帆风顺先把最常遇到的几个卡点整理成表。问题原因与解法二维码乱码或显示不全字符画二维码需要 UTF-8 终端与等宽字体换一个支持的终端或字体导入 pyzbar 报错缺少系统 zbar 共享库先安装 zbar 再重跑说说比想象中少仅自己可见或已删除的内容不进入消息列表该工具只抓取可见记录部分图片没下载下来链接失效或网络不稳检查 pic 目录后重跑程序补齐抓取速度偏慢程序每 10 条暂停 3 秒控制频率1000 条约需 15~30 分钟耐心等待即可中断后能否续跑CtrlC 会先保存已抓数据且本地有缓存重跑 python main.py 即可GetQzonehistory 用一次扫码就能把 QQ 空间里的全部说说、评论与图片变成本地文件完整源码都在仓库的 util/ 目录里使用中遇到问题欢迎去仓库提 issue。数字记录值得被留下来。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考