tweep--twitter的python api
下载地址:https://github.com/tweepy/tweepy
文档地址:http://pythonhosted.org/tweepy/html/auth_tutorial.html#oauth-authentication
basic Authentication 就不谈了 账号密码以上 就行 但是貌似现在不能用了。
OAuth Authentication还是主流 我们来看下这货怎么用。
首先 先去dev.twitter.com 创建一个application
进入自己创建的 application
我们可以看到有三栏信息
Organization
一些自己应用的信息
OAuth settings
最重要的部分 :应用的一些数据
Your access token
自己账号的数据
你要用twitter的 api 来获取一个用户账户的使用权限 比如发个推,查看他的推,看他的follower什么的需要先获得这个用户的 Access token和Access token secret 。有了这2个我们算去的了用户的权限了。
下面直接上代码
#先说下大家一般在twitter 获取授权的流程
#在第三方应用界面点击twitter的icon
#跳转到twitter的授权页面,点击同意授权之类的按钮
#跳回第三方应用,显示授权成功
#目的获取用户的Access token和Access token secret
import tweepy
consumer_token = 'amHb0BBPRGX8e5afmPBvyQ'
consumer_secret = 'GLKvFg1hkrI8Hu1N3ENpYh5afL8YABjQ5L8QvSA'
auth = tweepy.OAuthHandler(consumer_token, consumer_secret)
#授权成功后跳转回第三方页面的地址要么多写个callback参数 要么会调用你应用设置OAuth settings 里的Callback URL
#auth = tweepy.OAuthHandler(consumer_token, consumer_secret,callback_url)
#后面就是获取twitter授权页面的地址
try:
redirect_url = auth.get_authorization_url()
except tweepy.TweepError:
print 'Error! Failed to get request token.'
#redirect_url就是授权页面的地址 你放在浏览器里打开就行。
#redirect_url:http://api.twitter.com/oauth/authorize?oauth_token=RGITmajuvv41PVB44k599jdYG6zMLa3u0xucjGMVk 点击同意之后就会跳转回自己的填的callback 的地址
#比如 这种http://host.com/?oauth_token=RGITmAjuvv51PVB64k499jdLG6zMLa3u0xacjGMVk&oauth_verifier=1Tkin2PU0HDLZcKk2uuj5vQxGrUPJqfNkd6vqN19osc
#url里的oauth_verifier 会用到最后
oauth_verifier='1Tkin2PU0HDLZcKk2uuj5vQxGrUPJqfNkd6vqN19osc'
#接着获取用户的request_token和request_token_secret
request_token = auth.request_token.key
request_token_secret = auth.request_token.secret
#到这里 已经满足了获取用户 的Access token和Access token secret的所有条件了
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_request_token(request_token,request_token_secret)
try:
auth.get_access_token(verifier)
except tweepy.TweepError:
print 'Error! Failed to get access token.'
#到这里没报错的话我们就已经获得了我们要的东西了
access_token = auth.access_token.key
access_token_secret = auth.access_token.secret
#把这2个变量保存好 以后要用这个用户的时候就可以直接获取这个用户的权限了。
#用这个用户发个推
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
api.update_status('tweepy + oauth!')
获取某人的微博
api.get_user('用户名').timeline()