
QQ空间归档完整教程5分钟备份全部历史说说导出Excel与本地网页版【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryGetQzonehistory 是一款 QQ 空间说说备份工具手机扫码一次它自动把你可见的历史说说、评论和图片下载到本机最终产出结构化 Excel、可双击翻阅的本地网页以及一整文件夹图片副本。先跑起来三步部署工具跑在本机只需要 Python 3、git外加一个系统级库 zbar解码二维码用的缺了它二维码渲染不出来。第 1 步取代码python3 --version git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory第 2 步虚拟环境装依赖用虚拟环境是为了不污染系统里的其他 Python 项目python3 -m venv myenv source myenv/bin/activate # Windows 改为 myenv\Scripts\activate pip install -r requirements.txt第 3 步装 zbar 并启动sudo dnf install -y zbar # Ubuntu/Debian 用 aptmacOS 用 brew python main.py启动后终端会打印一块黑白字符二维码用手机 QQ 扫掉并确认。登录成功后程序直接开始拉数据中间不需要再操作。有两点值得提前说明。一是登录凭据扫码成功后程序会把 cookie 存到本地——cookie 就是服务器发回浏览器、用来证明你已经登录的一串键值对。缓存有效期内下次启动它会列出已登录用户列表输个序号就能继续用不必重扫。二是中断保护抓数据的过程中你按 CtrlC程序会先把已抓到的内容写成 Excel 再退出进度不会丢。 这些手动习惯可以直接戒了痛点场景手动做的代价工具的行为回看十年前的动态网页一屏只显示几条往回翻要上千次点击还容易漏页直接调接口估算总量整批整批地拉说说配图想长期保存图片是在线临时链接原帖删除后图也打不开抓取时同步把图片写入本地pic/文件夹找去年夏天发的那条截图堆只能一张张翻无法筛选Excel 按时间/内容/图片/评论分列关键词直接搜备份到一半断网或关终端前面拉过的部分只能重来手动中断时先落盘已有数据再退出换设备做第二次备份每次都得重新扫码复用磁盘上的 cookie输序号即可 产物落盘位置与文件清单所有结果存放在resource/result/{QQ号}/下按账号分目录互不干扰。三个目录的职责由 config.ini 配置temp放二维码图片和 JSON 中间文件等缓存user存各账号的登录 cookieresult是最终导出目录。文件内容{QQ号}_全部列表.xlsx消息列表全量时间/内容/图片链接/评论四列{QQ号}_说说列表.xlsx你自己发布的说说已去重{QQ号}_转发列表.xlsx你的转发记录{QQ号}_留言列表.xlsx你留给别人的留言{QQ号}_其他列表.xlsx与你的互动相关的他人动态{QQ号}_好友列表.xlsx列表中出现的昵称、QQ号、主页链接{QQ号}_说说网页版.html仿空间样式的本地网页双击即可翻阅pic/全部图片的本地副本数据走的是消息列表 可见说说两路先各自拉全再按作者归属分类、去掉重复项所以一份导出里既有你自己发的也有别人与你的互动记录。一句话看懂原理整条流水线四步扫码登录后先用二分法估算消息列表总量——每次在某个偏移位置发一个请求有数据就往大范围靠没有就往小范围靠最多 24 轮锁定数量然后每批 10 条、批间隔 3 秒地往下翻把返回的 HTML 解析成时间、内容、图片链接、评论四列最后统一写 Excel、下载图片、生成网页版。可见说说接口另走一路补齐重叠部分做去重。user_info Request.get_login_user_info() # 验证登录态 count Request.get_message_count() # 二分估算总量 for i in range(int(count / 10) 1): raw Request.get_message(i * 10, 10) # 每批拉 10 条 texts parse_html(raw) # 解析成四列 time.sleep(3) save_data() # 写 Excel 下图 生成网页备份之外的用法导出一份 Markdown 档案想把归档塞进 Obsidian 或当博客底稿可以换第二个入口跑python fetch_all_message.py。它按每页 30 条遍历你的可见说说生成resource/fetch-all/所有可见说说.md图片同步下载并用本地相对路径引用转发和评论保留为引用块纯文本格式方便二次编辑。多账号复用免重扫resource/user/目录里每个成功登录的账号对应一个以 QQ 号命名的文件。启动时程序会列出清单输序号复用对应账号输 0 则重新扫码切换。各账号的导出结果也各自独立存放互不覆盖。把备份数据变成统计Excel 生成后就是标准表格pandas 可以直接读import pandas as pd df pd.read_excel(resource/result/123456789/123456789_说说列表.xlsx) df[时间] pd.to_datetime(df[时间], formatmixed) print(df.groupby(df[时间].dt.year).size()) # 按年统计发布条数三行代码就能看到自己哪一年话最多想按关键词或月份分析改一下 groupby 的维度就行。出问题先查这张表现象大概率原因解决启动报 zbar 共享库找不到系统库没装sudo dnf install -y zbarapt/brew 按系统换终端只有乱码看不到二维码字体不支持字符块打开resource/temp/QR.png直接扫图片提示登录失败请重新登录缓存的 cookie 已过期删掉resource/user/中对应账号文件重跑长时间停在获取消息数量每次探测都是一次真实请求耐心等或 CtrlC 重跑已有数据已保存pic/里少了几张图个别图片请求失败重跑python main.pycookie 依然有效另有一条通用自检命令可以一次验证环境python -c import requests, pandas, qrcode, pyzbar, bs4, openpyxl; print(OK)哪个模块没装它会直接指出来。最后数据全程只经过你的机器最后落在自己的硬盘上Excel 里可筛选网页版里可翻阅图片点开就是原图。等平台的页面再改版一次你手里留着的是已经归档好的那份。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考