weiborobot软件包

目录:

  1. 软件包介绍;
  2. 软件包使用;
  3. 代码分析;

一、软件包介绍

利用周六的时间写好了一个自动发送微博的库,这个软件包的特点是你完全可以自动发送微博,目前大多数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代码

--------EOF---------
微信分享/微信扫码阅读