tweepyを使ってみる

面白半分でGoogle Analysisに登録したところ、「tweepy」の検索でこのblogに来ている人がいるらしい。ほんまかいな。昔書いた記事はサッパリ役に立たんので、忘備録も含めてもうちょいマシな記事を書いてみる。試した環境はUbuntu 9.04。OAuthで認証して発言してみるところまでを書きます。


自分で書いておいて言うのはアレですが、tweepyのdocに情報は全部載ってるので、それを見るのが正しい気も... --);

何が嬉しいの?

pythontwitterのTLとかを取得するなら、python-twitterでも良いのですが、OAuthでの認証できなくてちょっと不便だったりするわけです。*1 ということでtweepy使ってみるぜ!という話。

インストール

sudo easy_install tweepy

easy_installが無いよ!って場合は

sudo aptitude install python-setuptools

使ってみる

せっかくOAuthで認証するんだから、sourceに適当な文字列入れたいよね!
…ということでアプリケーションの登録をここから適当に行ないます。名前とかは適当に。下の方は今回は

んな感じ。詳しくはこことか適当にググれば良いんじゃないでしょうか。


登録が終わるとConsumer keyとConsumer secretが得られるので、それを使って…

#!/usr/bin/python
# -*- coding: utf-8 -*-

import tweepy

consumer_key = 'consumer key'
consumer_secret = 'consumer secret'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

print 'Please authorize us: %s' % auth.get_authorization_url()
verifier = raw_input('PIN: ').strip()
access_token = auth.get_access_token(verifier)

api = tweepy.API(auth)
tl = api.friends_timeline()
api.update_status('くいすたんくんかくんかもふもふ')

実行するとURLが出てくるので、開いて"アクセスを許可"すると、暗証番号とやらが出てくる。コピって貼り付ければOK!やった!postできた!

とは言え毎度毎度、アクセスを許可だの何だのやるのは面倒なので、上のコードのaccess_tokenを保存しておけば、2回目以降は

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)

api = tweepy.API(auth)

でOK。


TLの取得はapi.friends_timeline()。ipythonでも立ち上げて適当に遊んで見れば良いんじゃないでしょうか。

ちなみに自分の情報は

In [23]: me = api.me()

In [24]: me.screen_name
Out[24]: u'seikichi'

みたいな感じで適当に取得できるらしい。

*1:こんなものもあるそうですが;