ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

GetQzonehistory 3 步归档全部 QQ 空间历史说说:图片、好友、留言一次打包不再丢数据

GetQzonehistory 3 步归档全部 QQ 空间历史说说:图片、好友、留言一次打包不再丢数据 GetQzonehistory 3 步归档全部 QQ 空间历史说说图片、好友、留言一次打包不再丢数据【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory把 QQ 空间消息列表翻到 2017 年旧说说的文字还在图片却早就变成灰色破图标。空间没有任何导出入口手动逐条截图几千条说说显然不现实。GetQzonehistory 就是为这事做的免费开源工具扫码登录后自动翻完账号的全部历史消息把说说、转发、留言、好友列表连同图片一次打包存成本地 Excel 和网页版 HTML。5 分钟上手从克隆到扫码登录安装命令一次贴完这段命令依次做四件事克隆仓库、进入目录、创建虚拟环境、装依赖直接整段复制执行即可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、beautifulsoup4、pyzbar、qrcode 等版本已锁定装完就能跑。zbar 是第一个坑pyzbar解码二维码依赖系统级的 zbar 库。启动时如果提示无法找到 zbar 共享库按系统装一下sudo dnf install -y zbar # Fedora / CentOS sudo apt install libzbar0 # Debian / UbuntumacOS 更省事程序检测到 Homebrew 后会交互式问你要不要自动装 zbar回个 y 就行。扫码流程三步走装完依赖跑主程序python main.py终端里出现一个白底黑块的字符二维码——程序把官方二维码图片本地解码后重画成了文本不用开浏览器手机 QQ 扫码并在手机上确认登录成功后 cookie 写入resource/user/目录下次运行直接选账号序号不用重扫⚠️ 二维码失效后程序不会自动换新一直卡在二维码已失效时CtrlC 重新运行即可。一次运行能拿到什么七个产出文件一览跑完后数据按 QQ 号建目录存到resource/result/下Windows 上会自动打开文件夹文件内容QQ_全部列表.xlsx全部互动内容说说转发留言其他QQ_说说列表.xlsx你自己发布的说说QQ_转发列表.xlsx你转发的内容QQ_留言列表.xlsx空间留言板留言QQ_好友列表.xlsx好友昵称、QQ 号、空间主页链接pic/目录说说的全部图片按内容文字命名QQ_说说网页版.html说说转发还原成的空间风格网页每个 Excel 都是时间、内容、图片链接、评论四列直接在 WPS 或 Excel 里按年份、关键词筛选。跑完终端还会打印一条统计消息总数、最早一条说说时间、各列表条数、图片张数方便你核对抓取是否完整。HTML 还原空间网页版这是我最推荐打开看的产物程序把说说和转发按时间倒序排好塞进一个 QQ 空间网页版模板里QQ 表情自动转成表情图片图片链接还会把缩略图地址替换成高清图地址。浏览器打开QQ_说说网页版.html观感跟翻自己的空间差不多只是图片全落在你硬盘上了。多账号登录切换每扫一个新账号resource/user/下就多一个以 QQ 号命名的 cookie 文件。启动时程序会列出已登录用户让你选序号输 0 则是重新扫码。多个账号挨个备份互不干扰。它是怎么做到的原理速览两个数据源互补抓取空间消息列表接口能翻到很早期但不含全部字段未删除说说接口能拿到所有可见说说含 2014 年之前的却没有留言和转发。所以main.py先爬消息列表再由util/GetAllMomentsUtil.py补抓未删除说说合并时按内容做了一次去重——全部列表就是两者拼接后的结果。二分探测总数分页限速拉取开始抓之前程序先用二分法向后端探测消息总条数类似问图书管理员第 5000 本存不存在一次二分把范围砍半二十多次请求就能定出总数。之后消息列表按每批 10 条、批间隔 3 秒拉取说说按每页 30 条拉取都是刻意压着频率防风控。所以账号互动记录多的人上万条全程要等几十分钟别中途关窗口。登录是一次代扫码util/LoginUtil.py的工作流程是向官方接口要二维码图片用 pyzbar 本地解码出内容再用 qrcode 库在终端重画成字符版。扫码确认后拿到 cookie程序对p_skey做一次哈希算出签名参数g_tk后续所有抓取请求都带着这套凭证跑。中断也不丢数据main.py注册了 SIGINT/SIGTERM 信号处理中途 CtrlC 时已抓到的数据会先落成 Excel 再退出不用从头再来。还能怎么玩fetch_all_message.py 导出 Markdown 版不要 Excel 要 Markdown 的话方便贴博客或笔记软件跑第二个入口python fetch_all_message.py它把所有可见说说含评论、转发原文写到resource/fetch-all/所有可见说说.md图片同步下载到本地并以相对路径嵌入md 文件直接可离线渲染。换输出目录只改一行配置保存位置由resource/config/config.ini控制改一行就行[File] result ./resource/result/说说抓取结果有 JSON 缓存GetAllMomentsUtil抓到的原始数据会缓存在resource/fetch-all/QQ号/下。重复运行时直接读缓存不重复请求想把结果推倒重抓删掉这个目录即可。GetQzonehistory 踩坑速查环境与依赖问题现象原因解法提示找不到 zbar 共享库pyzbar 缺系统库按上文命令安装 zbarpip 安装慢或超时网络原因给 pip install 加清华镜像源参数卡在正在获取消息列表数量二分探测总条数正常阶段等几十秒到几分钟属正常现象登录与二维码问题现象原因解法手机扫码识别不出终端二维码部分终端字体把字符二维码挤糊了直接扫resource/temp/QR.png这张原始二维码图片一直显示二维码已失效旧码过期程序不会自动刷新CtrlC 重新运行会重新取码上次登录突然失效cookie 过期删除resource/user/下对应文件重新扫码输出与数据问题现象原因解法说说的条数比印象里少仅自己可见和已删除的说说接口拿不到属接口能力上限无法规避个别图片缺失下载时网络抖动核对pic/目录删除对应缓存后重跑结果打不开目录服务器无图形界面时xdg-open不可用手动到resource/result/QQ号/查看工具仅供个人数据备份与技术研究使用README 里也写明了合规声明别拿它去抓别人的空间。两条建议每季度跑一次增量备份生成的resource/result/目录再拷一份到外盘或网盘——你的十年青春值得存两个副本。【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表