GetQzonehistory:扫码一次,把 QQ 空间历史说说全量导出成 Excel 的实用指南
GetQzonehistory扫码一次把 QQ 空间历史说说全量导出成 Excel 的实用指南【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistoryGetQzonehistory 是一款面向想给空间数据做本地存档的用户的 Python 脚本通过模拟扫码登录 QQ 空间抓取该账号的全部历史说说输出为六张 Excel 表格、本地图片文件夹和一个可离线浏览的网页。读完本文约 10 分钟你会完整掌握从克隆到首次全量导出的流程以及每个产物落在哪里、漏抓的条目怎么补。能力清单它替你解决的三件实事1. 全量抓取两个接口互为补位消息列表做主线、说说接口做补位合并去重后还在的内容不再漏抓。主程序 main.py 先按每批 10 条拉取历史互动消息列表这个来源里既有你自己说说的文本、图片与评论也含转发和好友留言随后再调用未删除说说接口、每次翻 30 条翻页两路数据按内容去重后合并。这一步专门用来补齐已经从消息列表里掉出去的条目。2. 多格式归档一份数据三种产出同一批数据被写成表格、图片、网页三份各自独立可用。内容按身份拆成六张 xlsx全部列表、说说列表、转发、留言、其他与好友列表列结构统一为时间、内容、图片链接、评论说说附带的图片逐张下载到 pic 目录文件名取说说正文并截断到 40 字符防重名最后拼出一页按时间倒序的网页QQ 表情被还原成图片形式离线点开就能读。3. 状态持久化不重复扫码、不从头再来登录态落盘中断时已抓部分照样保存。扫码成功后 cookie 写入 resource/user/ 目录下次运行程序直接列出已登录用户供你选序号无需重新扫码程序还注册了 SIGINT 与 SIGTERM 信号处理中途按下 CtrlC 会自动触发一次已抓数据的落盘。原理拆解从扫码到 Excel 的三段链路把它理解成雇了一位代理档案员你交出工牌他按页抄录档案、编号归档最后整齐码在你桌上你不必再回档案室。整条链路拆成三段凭证段util/LoginUtil.py 向登录服务请求二维码轮询到登录成功并用返回的 p_skey 算出后续所有接口都要用的签名参数 g_tk。数据段请求模块对消息列表与说说列表两个接口依次发起分页请求每次请求后固定歇息一段刻意压低节奏。产出段工具模块负责 HTML 清洗、表情还原与网页模板pandas 负责把数据写成 Excel。输出路径在哪落盘由 resource/config/config.ini 里三行定死[File] temp ./resource/temp/ user ./resource/user/ result ./resource/result/一套 cookie、两个接口、三种产出原理到此为止。跑通步骤四步从克隆到首次导出这是纯脚本项目不需要编译不装插件不碰 C 工具链路线就是克隆、装依赖、运行、查产出。第一步 克隆仓库—— 放到你选定的本地目录所有产物只写入本地克隆内的 resource 子目录仓库代码文件保持原样git clone https://gitcode.com/GitGitHub_Trending/ge/GetQzonehistory cd GetQzonehistory第二步 认清依赖—— requirements.txt 共 11 项重量级的是 pandas、beautifulsoup4 与 pyzbar其中 pyzbar 还要系统级 zbar 共享库配合。第三步 ⏱️ 一条命令装完就跑—— macOS/Linux 可直接用下面这条命令串Windows 把激活命令换成.\myenv\Scripts\activatepython -m venv myenv source myenv/bin/activate pip install -r requirements.txt python main.py终端会以 ASCII 字符画打印登录二维码用手机 QQ 扫完等登录成功出现程序随即开始拉消息列表进度条按批推进。第四步 ️ 检查产出并补抓—— 跑完会自行打开导出目录里面应有一整套 Excel、pic 图片目录和说说网页 html。若消息列表覆盖不满意可再单独执行python fetch_all_message.py它拉取可见的未删除说说含 2014 年之前的内容额外产出一份 Markdown 归档。成本与收益运行代价与硬件底线代价维度不用工具手动工具运行后千条消息的获取耗时数小时逐条滚动保存自动翻页全程约 15 分钟磁盘图片散落在各设备集中于 result 目录文件名自动截断防冲突登录态每次重新验证cookie 缓存重跑只选序号硬件底线不需要 GPU 与编译工具链有网络、Python 3.x 和 2 GB 空闲内存的主流电脑即可系统层面唯一额外依赖是 zbar。机器很旧或不想搭 Python 环境直接取 Release 页面已打包好的单文件运行零配置。排障清单四个高频问题症状原因解法首次运行提示无法找到 zbar 共享库后退出pyzbar 依赖的系统库缺失Linux 执行sudo dnf install -y zbarmacOS 用brew install zbar脚本会自行检测并提示每次都要重新扫二维码cookie 过期或未成功落盘扫码成功后 cookie 写入 resource/user/下次运行从已登录用户列表选序号即可导出条数明显少于空间里的仅自己可见与已删除的说说不出现在两个接口里补跑 fetch_all_message.py 拉可见未删除部分真正仅自己可见的内容属接口盲区怕 CtrlC 后数据全丢担心手动结束进程打断落盘信号处理器已注册中断即保存已抓部分或放任它跑完结束后自动落盘并打开目录延伸方向把脚本挂进定时任务做成周期性的自动备份基于 Excel 产出做发布时间、频率与图片数量的统计分析用 Markdown 归档配合静态站点生成搭一个个人存档页收尾前勾掉三个自检项扫码后终端先打印登录二维码获取成功再打印登录成功且 resource/user/ 下多出一个 cookie 文件。运行后resource/result/{QQ号}/ 目录里同时出现 Excel 表格、pic/ 目录与说说网页 html。打开网页说说按时间倒序排列图片与评论正常渲染表情以图片形式显示。遇到接口变更或导出缺陷直接在仓库 Issue 区提交或发邮件联系作者作者在说明中明确留出了由社区补全代码的空间。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考