Skip to main content

这里放一张oc饭🤤

QQ 空间 Api 封装

✨ 电脑网页版空间API的简洁易用封装 ✨

license pypi python issues stars forks

📝 介绍

QZone-API 是一个专注于QQ空间操作的轻量级Python异步API封装库,让你能够像官方一样操作QQ空间,而无需繁琐的请求处理和参数构建。基于网页版QQ空间协议开发,支持二维码登录,操作简单便捷。

✨ 特性

  • 异步支持: 基于aiohttp实现的全异步API调用
  • 完整封装: 常用QQ空间操作简单几行代码即可实现
  • 二维码登录: 便捷的二维码登录机制,无需手动处理复杂的登录流程
  • 丰富功能: 覆盖绝大部分常用QQ空间操作

🔧 安装

pip install qzone-api

🛠 功能列表

  • ✅ 二维码登录
  • ✅ 获取指定QQ的动态
  • ✅ 获取好友空间动态
  • ✅ 点赞指定动态
  • ✅ 发表评论(文本)
  • ✅ 发送文本说说
  • ✅ 删除指定说说
  • ✅ 转发说说
  • ✅ 上传图片
  • ✅ 发表图片/图文说说
  • ✅ 发表图文混合评论
  • ✅ 回复评论
  • ✅ 删除相册中的指定图片
  • ✅ 获取相册列表
  • ✅ 获取相册中的图片列表

📚 快速开始

import asyncio
from qzone_api import QzoneApi, QzoneLogin

async def main():
    # 登录QQ空间
    qzone_login = QzoneLogin()
    login_result = await qzone_login.login()
    
    if login_result["code"] == 0:
        print(f"登录成功! QQ: {login_result['qq']}")
        
        # 获取cookies和g_tk等参数
        cookies = login_result["cookies"]
        cookies_str = '; '.join([f"{k}={v}" for k, v in cookies.items()])
        skey = login_result["skey"]
        bkn = login_result["bkn"]
        #:请在这里自行管理你的cookies和g_tk等参数
        #TODO:
        # 模块不会存储登录cookies,请自行管理

        # 实例化API
        qzone = QzoneApi()
        
        # 获取说说列表
        messages = await qzone.get_messages_list(
            target_qq=int(login_result["qq"]),
            g_tk=bkn,
            cookies=cookies_str
        )
        
        if messages:
            print(f"成功获取{len(messages)}条说说")
            
            # 发送一条新说说
            await qzone.publish_message(
                target_qq=int(login_result["qq"]),
                content="Hello QZone-API! 这是通过API发送的说说~",
                cookies=cookies_str,
                g_tk=bkn
            )
            print("发送说说成功!")

if __name__ == "__main__":
    asyncio.run(main())

📖 API 方法一览

方法 说明 旧版本兼容别名
get_messages_list 获取指定QQ的说说列表(解析后,支持 begintime 分页) -
fetch_messages_raw 获取说说列表原始响应 _get_messages_list
get_friend_feeds 获取好友动态(解析后) -
fetch_friend_feeds_raw 获取好友动态原始响应 _get_zone
like_feed 点赞说说 _zanzone
publish_message 发表文本说说 _send_zone
comment_message 评论说说 _send_comments
forward_message 转发说说 _forward_zone
delete_message 删除说说 _del_zone
upload_image 上传图片到相册 -
publish_image_message 发表图片/图文说说 -
comment_message_with_images 发表评论(纯文字/图文混合) -
reply_comment 回复评论 -

🧩 项目结构

  • login/: 处理QQ空间登录、二维码生成及cookie管理
  • api/: 封装各种QQ空间API操作接口
    • api_base.py: 基础请求方法
    • api_zone.py: 空间动态相关API
    • api_feed.py: 动态操作相关API
    • api_parms.py: API请求参数构建
  • utils/: 工具函数,包括HTML解析、token生成等

🙋 常见问题

Q: 登录时提示"二维码已失效"怎么办?

A: 二维码有效期较短,请重新执行登录方法获取新的二维码。

Q: 如何获取其他用户的说说?

A: 使用get_messages_list方法,将target_qq参数设置为目标用户的QQ号。

Q: 是否支持发送图片说说?

A: 支持。先用 upload_image 上传图片,拿到返回的 data 后调用 publish_image_message 发表纯图片或图文说说;图文评论用 comment_message_with_images。注意上传图片与图文评论所需的 g_tk 需用 p_skey 计算(bkn(cookies['p_skey']))。

📋 贡献指南

欢迎为项目提交PR、Issue或建议!

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

📜 开源协议

本项目使用 MIT 协议,请查看 LICENSE 文件了解更多信息。

🔗 联系方式

有问题? 请提交Issue或联系我:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qzone_api-1.0.0.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qzone_api-1.0.0-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file qzone_api-1.0.0.tar.gz.

File metadata

  • Download URL: qzone_api-1.0.0.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for qzone_api-1.0.0.tar.gz
Algorithm Hash digest
SHA256 483d6191fe4399a29df44a2958b49ecf5559a6ebfd09e4a84fb6ca34b7a86f61
MD5 9d6c4069ed009f174e6c720ac808530f
BLAKE2b-256 d62db15b6ec813c90c9d1038a22ddb47a6261dee16a89f3ae73b1aeefe6e0c95

See more details on using hashes here.

File details

Details for the file qzone_api-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: qzone_api-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for qzone_api-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce4df391a2a3c155937543b080664fc6d51ea691f39d98743bf56b636eeadb40
MD5 d7ef392bb7ebb191fce8e92cad77ec88
BLAKE2b-256 6dc86d50f1614cc299af1aa73062bb42b26c416ddc5fdd713649697a97f9ce8b

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.0

2 files

This release

1.0.0 This release

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page