Skip to main content

QQ空间API封装

Project description

这里放一张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._send_zone(
                target_qq=int(login_result["qq"]),
                content="Hello QZone-API! 这是通过API发送的说说~",
                cookies=cookies_str,
                g_tk=bkn
            )
            print("发送说说成功!")

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

🧩 项目结构

  • 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: 目前仅支持文本说说,图片说说功能计划在未来版本中支持。

📋 贡献指南

欢迎为项目提交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或联系我:

Project details


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-0.0.10.tar.gz (15.1 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-0.0.10-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qzone_api-0.0.10.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.7

File hashes

Hashes for qzone_api-0.0.10.tar.gz
Algorithm Hash digest
SHA256 c251316cb76c0d48b04dd31ec35eb2f96ba2262a2d19bd4ca2695b1186a950ff
MD5 f6f1d966b806832d95895adf013a9358
BLAKE2b-256 b7f769bbc41e692d8af2bd483fa2f42b19aaff43a87b5689fce51c0b34bfa726

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qzone_api-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.7

File hashes

Hashes for qzone_api-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 dd7f8c89e73ac0a12611f4f92aa8162fc154098cbbbd3c0adc0d1897aa24655d
MD5 6e98f597bfee7b7e7e1808df82279460
BLAKE2b-256 4a04c42e4e4097b645bc3a11996f0f241452786ce828076f08f7e218d37acdff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page