Python SDK for Weibo API.
pip install pyweibo
-
注册微博帐户,在微博开放平台中创建新应用;
-
在 应用信息 -> 基本信息 获取
App Key
和App Secret
; -
在 应用信息 -> 高级信息 -> OAuth2.0 授权设置 中设置
授权回调页
为:
基本用法
from pyweibo import Auth
auth = Auth()
在运行时,需要手动输入App Key
和App Token
:
App Key: <Your App Key>
App Secret: <Your App Secret>
接下来系统默认浏览器会自动打开授权回调页。
将地址栏的地址复制粘贴到终端中,即可产生Token。
Input the url or the token: <The URL or the token>
最终,Token会被保存在./token.json
文件中以便日后使用。
除此以外还可以修改:
-
读取
App key
和App Secret
的方式,可以从本地文件读取:LocalFileReader('./app.json')
基本用法
from pyweibo import Auth, Client
# Get the token
auth = Auth()
token = auth.token.token
# Start the client
client = Client()
data = client.statuses.home_timeline.get(access_token=token)
-
所有API方法及其参数可以在官方文档查询。
-
可以以类属性的形式访问微博API,其中最后一个方法调用必须是
get
或者post
,根据文档决定。
client.api_name_1.api_name_2.get(param1=value1, param2=value2)
-
所有API参数以方法参数的形式传递即可。
-
还可以通过 Dict Index 的方式调用API:
client[api_name_1][api_name_2].get(param1=value1, param2=value2)
- 方法返回值类型为
TextDict
,所有值都会被封装为可以直接访问的属性:
user = data.statuses[0].user
- 通过
pic
参数可以上传图片:
with open('image.png', 'rb') as f:
client.statuses.upload_pic.post(pic=f)
- 对于
2/statuses/upload
等地址为 https://upload.api.weibo.com/2/statuses/upload.json 的API,用UploadClient
代替Client
:
from pyweibo import UploadClient
client = UploadClient()
with open('image.png', 'rb') as f:
client.statuses.upload.post(status='Image', pic=f)
项目地址:Thesharing/pyweibo
在使用过程中遇到问题可以提出Issue。