weiborobot软件包
目录:
- 软件包介绍;
- 软件包使用;
- 代码分析;
一、软件包介绍
利用周六的时间写好了一个自动发送微博的库,这个软件包的特点是你完全可以自动发送微博,目前大多数code的获取都是通过手动获得,而该库完全模拟了URL的请求,自动获取code。该库完全封装了鉴权的整个流程,让你忽略底层整个流程,而专心去操作微博。
该软件包使用了官方提供的python-sdk,还有rsa,requests等模块。
二、软件包使用
在使用软件包之前,你首先要具备以下几个条件:
- Python2+;
- 微博账号,提供username和password;
- app_key和app_secret,这两个是通过你再微博公众平台申请应用得到的。还有一个callback_url,即回调url;
- 在微博开发平台上,安全域名必须填写,否则接口会返回未绑定域名错误。
所以,你使用微博API之前,要好好读读文档,了解它的鉴权过程。
1、安装
pip install weiboRobot
2.使用
from weiboRobot.weiboRobot import WeiboRobot
weibo = WeiboRobot(
weconfig['USERNAME'],
weconfig['PASSWORD'],
weconfig['APP_KEY'],
weconfig['APP_SECRET'],
weconfig['CALLBACK_URL'],
)
if article_alias:
content = u'程序分享文章:' +article_title + settings.DOMAIN + 'article/' + article_alias + '.html'
weibo.publish_text(content)
三、代码分析
1、流程解析
要想写微博API开发,就要了解微博的鉴权过程,了解服务器是如何对用户进行鉴权的。基本流程:
(1)首先引导用户到需要授权的地址: 授权地址
(2)如果用户同意授权,页面跳转至 YOUR_REGISTERED_REDIRECT_URI/?code=CODE
(3)换取Access Token: tokenURL
(4) 使用获得的Access Token调用API
就目前来讲,微博的安全机制做得很好,你通过chrome分析就可以发现,当你输入用户名后,微博调用相应的js实现异步登录。所以,现在大多数通过手动获得code,而每个code有效期还是5年。但我觉得还是不方便,你既然要写程序,还是要全自动化,这也是我写这个软件包的初衷。
获得code后续的所有步骤已经有了现成的sdk,我也用它了。
我模拟了整个获取code的流程,包括如下几步:
此外,我对操作微博的方法进行了封装,提供一种更友好的方式。
具体可参考微博官网: OAUTH2授权机制 。
2、代码结构
├── setup.cfg
├── setup.py
├── weiborobot
│ ├── auth.py 获得code后, 为client设置token
│ ├── config.py 配置文件,配置了各种URL以及post请求时的表单数据
│ ├── __init__.py
│ ├── ticket4code.py 该类主要是要获得ticket,ticket是获得code的一个前提。
│ ├── utils.py 提供加密算法
│ └── weiborobot.py 封装好的robot类,提供一个更友好的HTTP方法,
3、代码
具体的代码还是见我的GitHub吧: WeiboRobot代码 。
微信分享/微信扫码阅读