新浪微博开放平台提供了丰富的微博操作API,开发者可以利用API开发出自己想要的功能,也可以将自己的网站、应用与微博开放平台连接,甚至可以开发出一个具有完全功能的新浪微博客户端(weico)或者网页(mini weibo http://sinaweibopy.sinaapp.com/)。总之,功能非常强大,给大家提供了非常大的发挥空间,具体可以参考官方说明:http://open.weibo.com/.
初学者(我也是初学者)可以从简单的开始,开发一些简单的程序,例如:利用自己的程序发一条新微博、获取自己关注的好友、获取自己的粉丝、获取好友发的微博,进一步可以做一些简单的分析工作;例如:分析自己的所有好友中的性别比例、好友发微博的时间分布;如果是超级大牛的话,可以开发一些功能更加强大的程序,例如:开发一个自动回复微博的机器人,可以对读取的微博做自然语言处理和理解,然后自动回复相应内容(想想挺有意思,但是鄙人不才,还做不出来)。另外,市面上已经有很多商用的微博分析工具,那就更加强大了。
本文记录了用新浪微博官方Python SDK调用API进行开发的准备工作。
第一:申请成为开发者并创建一个应用
首先要有一个新浪微博的账号,然后去新浪微博开放平台(http://open.weibo.com/)创建一个应用,具体的步骤官网文档介绍的非常详细(http://open.weibo.com/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97)。申请成功后会得到APP_KEY,APP_SECRET,这两个常量在后面进行授权时使用的。需要注意,应用需要设置一个回调地址(CALL_BACK),如下图所示,在应用管理中,找到回调地址设置的位置,填上你的需要回调的网页地址,初学开发者可能根本没有也不需要回调网页,这里其实可以随便设定一个网址就可以了,也可以设定为默认的回调网址:https://api.weibo.com/oauth2/default.html,需要注意在写程序时也会用到该回调网址,程序中的回调网址也这里设置的网址必须一致。这一步完成后,将得到三个有用的信息:APP_KEY,APP_SECRET和CALL_BACK,这三个信息在后面编写程序时将用到。
到这里,就可以使用SDK编写程序了,有朋友问申请的应用时“未审核”状态有没有影响,其实是没有影响的,除了一些特殊API和权限等级的差别,完全可以调用编写程序了。
官方文档http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E有非常详细的说明,了解了授权机制后才能理解使用SDK编写程序的过程。
新浪微博Python SDK的作者廖雪峰提供了说明网页http://michaelliao.github.io/sinaweibopy/,但是初学者看到该说明网页可能会觉得很乱,多处都是下载链接。其实,初学者只需关心一步就可以了,那就是安装SDK。网页中说明了安装有两种方式,第一种用命令行工具pip安装,第二种下载源码包安装。这里推荐用第一种安装方式,因为自己下载源码包需要拷贝到安装目录或者配置Python模块搜索的Path,比较麻烦。
pip是Python的包管理工具,不了解的朋友可以查阅相关资料。pip可以很方便的安装Python模块,该网页中http://hi.baidu.com/yhfaith/item/b30785e6034c7be0fa42baf4介绍了pip工具的安装步骤。安装成功后,只需在命令行(或linux终端)中执行pip install sinaweibopy,SDK的包sinaweibopy就安装完毕。测试是否安装成功,可以在python命令行中输入:import weibo,如果没有错误提示说明安装成功。实际上Python SDK主要就是模块weibo,后面在使用SDK时就是调用该模块中的函数。
至此,准备工作就完成了,就可以调用API编写微博操作程序了,下一篇中将给出一个发微博的例子。
By: