【开源项目推荐】告别手动截图,轻松保存QQ空间全部回忆!
在这个数字化时代,QQ空间承载了我们太多的青春回忆。无论是早期的说说、日志,还是照片、留言,都是我们珍贵的数字资产。然而,随着时间推移,这些内容可能会因各种原因丢失。如何高效地备份和保存这些珍贵的回忆,成为了很多人关心的问题。今天要介绍的这个开源项目,就能很好地解决这个需求。
版权声明: 本文介绍的项目基于 MIT 开源协议。保留原作者版权声明。原项目地址: https://github.com/LibraHp/GetQzonehistory
前言
在这个数字化时代,QQ空间承载了我们太多的青春回忆。无论是早期的说说、日志,还是照片、留言,都是我们珍贵的数字资产。然而,随着时间推移,这些内容可能会因各种原因丢失。如何高效地备份和保存这些珍贵的回忆,成为了很多人关心的问题。今天要介绍的这个开源项目,就能很好地解决这个需求。
正文
项目介绍
GetQzonehistory 是一个基于 Python 的 QQ 空间数据获取工具,它能够帮助用户轻松下载自己的 QQ 空间历史数据。主要功能包括:
- 自动登录QQ空间
- 批量下载说说内容
- 获取点赞和评论信息
- 导出数据为易读格式
该项目采用了 Python 的 requests 库进行数据请求,通过模拟浏览器行为来获取数据,实现了无需浏览器即可获取数据的功能。相比其他类似工具,它的特点是:
- 使用简单,配置门槛低
- 获取速度快,支持批量下载
- 数据完整,包含互动信息
- 输出格式友好,易于存档
登录界面
记录获取
项目说明
使用环境要求:
- Python 3.6 及以上版本
- requests 库
- configparser 库
安装步骤:
- 克隆项目到本地
git clone https://github.com/LibraHp/GetQzonehistory.git
- 安装依赖
pip install -r requirements.txt
- 配置文件修改:
打开 config.ini 文件,填入以下信息:- QQ号
- QQ密码
- 要获取的数据时间范围
使用方法:
- 运行主程序
python main.py
- 按照提示输入验证信息
- 等待数据获取完成
- 在 output 文件夹查看结果
注意事项:
- 请确保网络环境稳定
- 建议使用自己的QQ号登录
- 获取大量数据时注意时间间隔
- 注意遵守QQ空间使用规范
目录结构
project/
├── resource/ # 资源目录
│ ├── config/ # 配置目录,文件保存位置配置
│ │ └── config.ini
│ ├── result/ # 导出结果的目录,格式为“你的qq.xlsx”
│ │ ├── ...
│ │ └── ...
│ ├── temp/ # 缓存目录
│ │ ├── ...
│ │ └── ...
│ ├── user/ # 用户信息
│ │ ├── ...
│ │ └── ...
├── util/ # 单元工具目录
│ ├── ConfigUtil.py # 读取配置
│ ├── GetAllMomentsUtil.py # 获取未删除的所有说说
│ ├── LoginUtil.py # 登录相关
│ ├── RequestUtil.py # 请求数据相关
│ └── ToolsUtil.py # 工具
├── main.py # 主程序入口
├── fetch_all_message.py # 主程序入口
├── README.md # 项目说明文件
├── requirements.txt # 依赖项列表
└── LICENSE # 许可证文件
核心代码解析
以下是项目中几个关键部分的代码实现:
- 登录认证部分
def login(self):
self.session = requests.Session()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...'
}
self.session.headers.update(headers)
# 获取登录参数
self.get_login_params()
# 模拟登录过程
login_url = "https://qzone.qq.com"
response = self.session.get(login_url)
# 验证登录状态
if self.check_login_status():
print("登录成功")
return True
return False
- 数据获取核心逻辑
def get_history_data(self, start_time, end_time):
page = 1
while True:
url = f"https://user.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6"
params = {
'uin': self.qq,
'pos': (page - 1) * 20,
'num': 20,
'format': 'json',
}
response = self.session.get(url, params=params)
data = response.json()
if not data['msglist']:
break
self.process_data(data['msglist'])
page += 1
- 数据处理与保存
def process_data(self, msg_list):
for msg in msg_list:
item = {
'time': msg['created_time'],
'content': msg['content'],
'comments': msg.get('comments', []),
'likes': msg.get('likes', [])
}
self.save_to_file(item)
总结
GetQzonehistory 项目为我们提供了一个简单易用的QQ空间数据获取工具。它的主要优势在于:
- 操作简单,无需复杂配置
- 数据获取完整,包含互动信息
- 代码结构清晰,易于维护和扩展
- 输出格式规范,便于后续处理
使用建议:
- 建议分批次获取数据,避免一次性获取太多
- 可以根据自己需求修改保存格式
- 注意及时备份已获取的数据
- 遵守平台规则,合理使用工具
后续改进空间:
- 添加图片内容的获取功能
- 优化数据导出格式
- 增加失败重试机制
- 提供更多自定义选项
项目地址: https://github.com/LibraHp/GetQzonehistory
获取完整安装包&技术交流
看到这里,相信大家对这个项目已经有了清晰的认识。如果你也想保存自己的QQ空间回忆,我整理了一份详细的安装教程和常见问题解答文档,包括详细的环境配置指南、常见报错解决方案、实用小技巧分享、持续更新的项目动态等
欢迎关注我的公众号【LSKDROIT】或扫描下方二维码,回复 关键词 “QQ空间” 获取安装包。我会在公众号持续分享类似好用的工具和编程技巧,帮助大家提高开发效率!

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)