futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

PythonでTwitterAPIを使う。その2

先日の記事。
PythonでTwitterAPIを使う
http://futabooo.hatenablog.com/entry/2012/03/08/172436

この記事を書いたあといろいろ読んでいたらTweepyというAPIがもっと簡単に使えるらしい。
ということで早速インストールしてみる。

$ easy_install tweepy
Searching for tweepy
Reading http://pypi.python.org/simple/tweepy/
Reading http://github.com/joshthecoder/tweepy
Download error on http://github.com/joshthecoder/tweepy: [Errno 54] Connection reset by peer -- Some packages may not be found!
Reading http://github.com/joshthecoder/tweepy
Reading http://github.com/tweepy/tweepy
Best match: tweepy 1.8
Downloading http://pypi.python.org/packages/2.7/t/tweepy/tweepy-1.8-py2.7.egg#md5=61643a97064deb437ec61f2c1f65a5d4
Processing tweepy-1.8-py2.7.egg
creating /usr/local/lib/python2.7/site-packages/tweepy-1.8-py2.7.egg
Extracting tweepy-1.8-py2.7.egg to /usr/local/lib/python2.7/site-packages
Adding tweepy 1.8 to easy-install.pth file

Installed /usr/local/lib/python2.7/site-packages/tweepy-1.8-py2.7.egg
Processing dependencies for tweepy
Finished processing dependencies for tweepy

なんとたった1行のコマンドでインストール出来てしまう。
tweepyはPyPIというところにあるのでこの1行でいけるっぽい。
PyPIとはPython Package Indexの略でいろんな人が作ったパッケージ?モジュール?を公開してくれているところ。

さっそく試す。

$ python
Python 2.7.2 (default, Feb 27 2012, 17:25:37) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tweepy
>>> CONSUMER_KEY = '***************'
>>> CONSUMER_SECRET = '*******************'
>>> auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
>>> auth_url = auth.get_authorization_url()
>>> print 'Please authorize: ' + auth_url
Please authorize: http://api.twitter.com/oauth/authorize?oauth_token=*********************
>>> verifier = raw_input('PIN: ').strip()
PIN: 
>>> auth.get_access_token(verifier)
<tweepy.oauth.OAuthToken object at 0x101267f10>
>>> print "ACCESS_KEY = '%s'" % auth.access_token.key
ACCESS_KEY = '*********************************************'
>>> print "ACCESS_SECRET = '%s'" % auth.access_token.secret
ACCESS_SECRET = '*********************************************'
>>> ACCESS_KEY = '*********************************************'
>>> ACCESS_SECRET = '*********************************************'
>>> auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
>>> api = tweepy.API(auth)
>>> print api.me().name
futabooo
>>> api.update_status('Updating using OAuth authentication via Tweepy!')
<tweepy.models.Status object at 0x1013a1690>
>>> api.home_timeline()
[<tweepy.models.Status object at 0x1013a1c50>, <tweepy.models.Status object at 0x1013a1c90>, <tweepy.models.Status object at 0x1013a1d50>, <tweepy.models.Status object at 0x1013a1e10>, <tweepy.models.Status object at 0x1013a1ed0>, <tweepy.models.Status object at 0x1013a1f50>, <tweepy.models.Status object at 0x1013b8050>, <tweepy.models.Status object at 0x1013b8110>, <tweepy.models.Status object at 0x1013b81d0>, <tweepy.models.Status object at 0x1013b8250>, <tweepy.models.Status object at 0x1013b8310>, <tweepy.models.Status object at 0x1013b83d0>, <tweepy.models.Status object at 0x1013b8510>, <tweepy.models.Status object at 0x1013b8650>, <tweepy.models.Status object at 0x1013b8750>, <tweepy.models.Status object at 0x1013b88d0>, <tweepy.models.Status object at 0x1013b8950>, <tweepy.models.Status object at 0x1013b8a50>, <tweepy.models.Status object at 0x1013b8ad0>, <tweepy.models.Status object at 0x1013b8b50>]
>>> api.home_timeline()[0].text
u'@shintaroooou \u304a\u3084\u3059\u307f\uff5e(\uff5e\u03c9\uff5e)'
>>> print api.home_timeline()[0].text
てゆかどっちもpointじゃん…(*´・д・)ノ
>>> 

自分のユーザーネームやら最新の投稿の取得までできた。
参考URL
https://github.com/tweepy/tweepy/blob/master/examples/oauth.py