QQ空间说说备份怎么做?GetQzonehistory把历史说说导出到Excel

📅 2026/8/22 17:03:38
QQ空间说说备份怎么做?GetQzonehistory把历史说说导出到Excel
QQ空间说说备份怎么做GetQzonehistory把历史说说导出到Excel【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryQQ空间改过不少版老动态翻起来越来越费劲。GetQzonehistory 是一个做 QQ空间说说备份 的开源 Python 工具扫码登录后它按批抓取空间消息列表把时间、正文、图片链接、评论整理成 Excel 表格并把配图的原始图片下载到本地。适合想给账号存档的普通用户也适合打算二次处理这批数据的开发者。 先看到结果跑完能得到哪些文件一次完整运行后所有产出按QQ号归档在resource/result/你的QQ号/目录下一组 Excel 表格本人发布的说说、全部动态、转发、留言、好友各一张表一个网页版 HTML按时间从新到旧还原了说说页面的展示一个pic/目录每条说说配图的本地原图表格统一是 时间、内容、图片链接、评论 四列留言和其他两类少评论列。跑完后终端会打印汇总总消息数、最早一条说说的发布时间、好友数、图片数并自动打开结果目录方便当场核对是否跑全。️ 跑通它克隆、装环境、扫码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先建独立虚拟环境再装依赖避免污染本机。requirements.txt 里一共 11 个包pandas、requests、beautifulsoup4、openpyxl、pyzbar 都在其中装完才算具备运行条件。python main.py启动主程序 main.py 后终端会直接打印一个二维码用手机版QQ扫一下即可全程不输入账号密码。登录态会缓存到resource/user/短期内重跑不用再扫。 各份产出拿来干什么主产物是QQ号_说说列表.xlsx只含本人发布的说说做归档、迁移博客、统计发布频率都用它。其余文件按用途分三类QQ号_全部列表.xlsx、转发列表.xlsx、留言列表.xlsx、其他列表.xlsx消息列表按来源拆分想看完整时间线就打开全部只关心转发或留言就取对应那张QQ号_好友列表.xlsx好友昵称、QQ号、空间主页三列适合做通讯录存档QQ号_说说网页版.html浏览器打开即看头像、昵称、评论都渲染出来图片链接还替换成了高清版本适合直接翻着怀旧。pic/里的图片以说说正文做文件名去掉特殊字符、超长截断同名图片会自动加时间戳后缀防止互相覆盖。⚙️ 它是怎么做到的抓数据分两步。先用二分法试探总条数从很大的上界开始请求中间位置看有没有返回内容逐步逼近真实总量然后再逐批拉取每批 10 条count Request.get_message_count() # 二分试探总条数 for i in trange(int(count / 10) 1): response Request.get_message(i * 10, 10) # 每批取10条 if response is None: continue # 本批无效就跳过继续 # 用 BeautifulSoup 解析出时间、正文、图片链接 time.sleep(3) # 批间休息3秒就像翻一本只标页码的册子先跳到中间页确认还有没有内容再决定往哪边翻比从第一页顺序试快得多。请求间隔和失败跳过的逻辑都写在 util/RequestUtil.py 里想调整抓取节奏可以改那里的停顿参数。消息列表拉完后程序还会调用 util/GetAllMomentsUtil.py 里的接口补一遍未删除的可见说说和消息列表去重合并尽量把缺口补上。登录与续命逻辑在 util/LoginUtil.py二维码登录成功就把 cookie 存到本地下次直接读缓存程序捕获了中断信号CtrlC 退出前会先把已抓到的数据写成文件不会白跑。 还能这么用按年份统计发布量。Excel 到手后pandas 几行就能看出哪一年最活跃import pandas as pd df pd.read_excel(12345678_说说列表.xlsx) df[年份] pd.to_datetime(df[时间]).dt.year print(df[年份].value_counts().sort_index())只留某个时间段。按时间列过滤即可比如只导出 2015 到 2017 年的内容再转成 Markdown 或 Word做成电子纪念册。定期自动跑。把登录后的程序挂到系统定时任务里Linux 下 crontab 一行就能每月跑一次0 3 1 * * cd /path/to/GetQzonehistory ./myenv/bin/python main.py注意 cookie 会过期建议每月首次手动扫码刷新登录态再交给定时任务。⚠️ 避坑笔记现象终端提示无法找到 zbar 共享库后退出。原因pyzbar 依赖系统级的 zbar 库。处理Linux 执行sudo dnf install zbarmacOS 会提示改用 Homebrew 安装。现象抓到的条数比印象里少。原因数据源是消息列表仅自己可见的说说不在其中。处理属项目已知限制可拿全部列表与网页版交叉核对。现象pic/里缺图或个别图片下载失败。原因图片链接过期或网络中断。处理用 Excel 里的图片链接列手动补下。现象整轮跑得很慢。原因二分试探总数和每批请求都带秒级停顿条数多时耗时线性增长。处理耐心等完网络不稳就先修网络再跑。现象安装依赖报错或极慢。处理换国内镜像源例如pip install -i https://mirrors.aliyun.com/pypi/simple/ -r requirements.txt。现象下次运行重新要求扫码。原因缓存的 cookie 过期。处理重扫一次即可想彻底重来可清掉resource/user/里的缓存。写在最后空间里的老内容经不起再等一次接口变动挑个晚上把 main.py 完整跑一遍Excel 和图片落盘就算有了底。仓库为 GetQzonehistory遇到问题可以直接到仓库 Issue 区反馈。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考