基于python编写的微博应用

yipeiwu_com5年前Python基础

本文实例讲述了基于python编写的微博应用,分享给大家供大家参考。具体如下:

在编写自己的微博应用之前,先要到weibo开放平台申请应用的公钥和私钥。
下载python版的SDK,打开example目录,仿照oauthSetTokenUpdate.py进行编码,

复制代码 代码如下:
# -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API


consumer_key= '应用的key'
consumer_secret ='应用的App Secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth_url = auth.get_authorization_url()
print 'Please authorize: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
api = API(auth)

status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的
print status.id
print status.text

运行这个程序就会提示一个URL链接,在浏览器里打开这个链接,并且给予访问权限,就会拿到一串PIN码。把这个PIN码输上去,就会发送一条推了,并且还会显示用户的Access token key和Access token secret。可以看到整个过程是很简单的:

用你的consumer_key和consumer_secret创建一个OAuthHandler对象auth。
告诉用户访问auth.get_authorization_url(),并让用户授权这个应用。
拿到用户的PIN码,用auth.get_access_token()拿到用户的Access token key和Access token secret。
用auth创建一个API对象api。
调用api的方法,例如update_status()就是发推。详细说明可以看API文档。

当然,每次都要求用户输入PIN码也太傻了,所以在用auth.get_access_token()拿到Access token key和Access token secret之后,就可以直接用它们来创建API对象了:

复制代码 代码如下:
# -*- coding: utf-8 -*-

from weibopy.auth import OAuthHandler
from weibopy.api import API


consumer_key= '应用的key'
consumer_secret ='应用的App Secret'
token = '用户的Access token key'
tokenSecret = '用户的Access token secret'

auth = OAuthHandler(consumer_key, consumer_secret)
auth.setToken(token, tokenSecret)
api = API(auth)

status = api.update_status(status='搞定收工~')

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python设计模式之代理模式简单示例

Python设计模式之代理模式简单示例

本文实例讲述了Python设计模式之代理模式。分享给大家供大家参考,具体如下: 代理模式在一般形式上是一个类函数接口。代理可以是这些事物的接口:网络连接,存储的对象,文件,或者其他资源(...

Django中的CBV和FBV示例介绍

前言 本文主要给大家介绍了关于Django中CBV和FBV的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、  CBV CBV是采用面向对象的...

解决django中ModelForm多表单组合的问题

解决django中ModelForm多表单组合的问题

django是python语言快速实现web服务的大杀器,其开发效率可以非常的高!但因为秉承了语言的灵活性,django框架又太灵活,以至于想实现任何功能都有种“条条大路通罗马”的感觉。...

Python import用法以及与from...import的区别

在python用import或者from...import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入...

pandas series序列转化为星期几的实例

series序列中每个元素都是带有日期形式的字符串,需要将其转化为一个同等大小的series,且其中每个元素都是星期几。 1)将Series转化为datetime格式; 2)将Serie...