5分钟跑通GetQzonehistory:QQ空间说说批量导出完整指南
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
GetQzonehistory是一个QQ空间历史说说导出工具,通过扫码登录获取账号历史消息列表,把账号发布过的说说、转发、留言整理成Excel表格和HTML网页,并批量下载说说图片,适合需要批量导出QQ空间数据做备份的人。
快速上手:3步完成QQ空间说说导出环境安装
环境要求:Python 3.8+。
- 克隆仓库并进入目录:
git clone https://gitcode.com/GitHub_Trending/ge/GetQzonehistory cd GetQzonehistory- 创建并激活虚拟环境:
python -m venv myenv # Windows 激活: myenv\Scripts\activate # macOS/Linux 激活: source myenv/bin/activate- 安装依赖并运行:
pip install -r requirements.txt python main.py| 依赖 | 用途 |
|---|---|
| beautifulsoup4 | 解析QQ空间返回的HTML消息列表 |
| pandas | 数据处理与Excel导出 |
| tqdm | 显示进度条 |
| requests | 发起网络请求 |
| Pillow | 打开并缩放登录二维码图片 |
| openpyxl | 生成.xlsx文件 |
| pyzbar | 解码终端中的登录二维码 |
| qrcode | 在终端绘制登录二维码 |
| fake-useragent | 生成随机浏览器User-Agent |
| chardet | 检测返回内容的字符编码 |
首次运行后,终端会生成QQ扫码登录二维码,提示"登录二维码获取成功"。用QQ扫码后终端每3秒打印一次状态(未失效/认证中/已失效/登录成功),随后依次出现"正在获取消息列表数量..."和"Progress"两个进度条,完成后自动打开结果目录,并打印消息总数、好友数、说说的最早发布时间等统计信息。
核心功能
基于消息列表的历史恢复以QQ空间互动消息列表为主要数据源,逐批翻页抓取,能取回消息列表里留存的早期说说,弥补空间主页看不到的历史内容。
可见说说补充抓取完消息列表后,再分页拉取账号当前可见的未删除说说(含2014年之前的内容),与消息列表合并后按内容去重,减少遗漏。
6个Excel分类导出最终生成全部列表、说说列表、转发列表、留言列表、其他列表、好友列表共6个Excel文件,按互动类型拆开,每类包含时间、内容、图片链接等字段。
网页版还原把说说和转发合并成一条按时间倒序的"说说网页版.html",还原头像、QQ表情、图片和评论,点击图片可在新标签页打开。
中断自动保存程序注册了信号处理,运行中按Ctrl+C会立即保存已抓取的数据,中途退出不会丢掉进度。
工作原理(简化版)
GetQzonehistory/ ├── main.py # 主入口:抓取、分类、保存 ├── fetch_all_message.py # 独立脚本:导出全部可见未删除说说 └── util/ # 工具模块 ├── LoginUtil.py # 扫码登录与cookie管理 ├── RequestUtil.py # 消息列表请求与数量探测 ├── GetAllMomentsUtil.py # 可见未删除说说获取 ├── ConfigUtil.py # 目录配置与用户cookie存取 └── ToolsUtil.py # HTML模板与通用处理函数数据流共5步:
- 扫码登录,cookie保存到
resource/user/,下次运行可直接选择已登录账号(详见LoginUtil.py)。 - 用二分查找探测消息列表总条数。
- 按每批10条分页拉取,批与批之间暂停3秒,用BeautifulSoup解析每条记录的昵称、QQ号、时间、内容和图片链接。
- 分页拉取可见的未删除说说(每页30条)做补充,并与已有数据去重。
- 按内容分类写入Excel和HTML,下载全部图片后打印统计信息。
输出成果
运行完成后,结果生成在resource/result/你的QQ号/目录下:
QQ号_全部列表.xlsx- 抓取到的全部历史消息,含时间、内容、图片链接、评论4列QQ号_说说列表.xlsx- 你本人发布的说说QQ号_转发列表.xlsx- 你本人的转发记录QQ号_留言列表.xlsx- 你本人的留言QQ号_其他列表.xlsx- 好友产生的其他互动消息QQ号_好友列表.xlsx- 互动好友的昵称、QQ号、空间主页QQ号_说说网页版.html- 网页版时间线,图片可点击放大pic/目录 - 所有说说图片,按"说说内容"命名(非法字符替换为下划线,超过40字符截断),重名时追加时间戳
实用技巧
用Excel做二次统计:6个表结构一致,用数据透视表按年份对"时间"列分组计数,就能统计每年发布说说的数量。
自定义网页版样式:说说网页版.html内嵌了全部CSS,直接编辑.post等样式类,即可调整背景色和卡片布局,再另存为PDF或截图分享。
重复运行免扫码:cookie按QQ号存在resource/user/下,下次启动时选择已登录用户序号即可跳过扫码,输入0重新登录。
常见问题
macOS/Linux运行提示找不到zbar共享库
pyzbar依赖zbar系统库,Python包本身不带。macOS执行brew install zbar,RPM系Linux执行sudo dnf install -y zbar,安装后重新运行python main.py即可。
登录后没有获取到数据
多为网络或登录态问题。先确认浏览器能正常打开QQ空间网页版,再删除resource/user/下对应的cookie文件重新扫码;若单批提示"获取消息失败",程序会跳过该批次继续抓取,可稍后重跑补全。
导出的数据比预期少
工具以消息列表为主要来源,从未出现在消息列表里、或仅自己可见的早期说说无法获取;可见的未删除说说是补充来源。这是数据源特性,不是程序缺陷。
图片下载失败
部分原始图片链接已失效,程序会跳过非HTTP或下载失败的链接继续处理,不影响其他文件导出。
运行中断后如何恢复
抓取期间直接按Ctrl+C,信号处理会立即保存已有数据到resource/result/。由于每批请求固定等待3秒,数据量大时总耗时较长,中断后重新运行可继续补全。
使用须知
程序每批抓取10条消息、批间暂停3秒,消息量大时抓取阶段可能需要30分钟以上,请勿关闭窗口。图片逐张下载并写入磁盘,说说过千时建议预留1GB以上空间。
本工具仅供个人学习和技术研究使用,不得用于商业或非法用途。使用即表示同意遵守QQ平台相关条款及法律法规,尊重他人版权与隐私,作者对使用本工具产生的后果不承担责任。
GetQzonehistory把QQ空间历史说说的批量导出压缩为一次扫码加一次运行,适合需要长期备份空间数据的人,仓库地址见文首git clone链接。
【免费下载链接】GetQzonehistory获取QQ空间发布的历史说说项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考