2009/12/30

Python から Twitter へ投稿する

柴田 淳 (3)
3消去法的定番書
5知識の整理と Python3への準備に役立つ
3初級者向け、ただし...

もちろん、投稿できると言うことはTimeLineの取得とかいろいろ出来ます。
しかも、とっても簡単。

python-twitterというものがすでに用意されているので、それを導入してimportしてあげれば何の苦労もなくPythonからTwitterの各種APIを操作できます。

python-twitter -Project Hosting on Google Code

素直にここからダウンロードしてきて、展開した方が早いです。
Ubuntu系をお使いの方ならapt-getでインストールすることも出来ます。

sudo apt-get install python-twitter

バージョンは今日現在0.6がインストールされます。
tar.gzをダウンロードした場合は

python setup.py build
python setup.py install  

以上でインストール終了。
あと、simplejsonが必要になるとか言われる場合があるので 、その場合は素直にダウンロードしてきて、上同様にbuildしてinstallしましょう。

Python Package Index : simplejson 2.0.9

 

実際の使い方は本当に簡単。

import twitter
api = twitter.Api(username='TwitterのID', password='TwitterのPass')

とりあえずこれは共通。
これで、Twitter APIへアクセスする事が出来るようになりました。

タイムラインを表示してみる。

statuses = api.GetFriendsTimeline()
for s in statuses :
 print s.text.encode('utf-8')

これで、いつもTwitterクライアントで見ているのと同じフォロワーのポストが表示されます。
ちなみに最後に.encode('utf-8')をつけているのはきちんと表示させるために必要なので。ただ、これは環境によって変わってくるので注意してください。

投稿してみる。

post = sys.stdin.readline()
ret = api.PostUpdate(post.decode("utf-8"))

これで、実行すると文字入力できて、それを投稿してくれる・・・はず。

これ以外の詳しい関数などはPythonでtwitterを試してみたっす。 : kishi-r.comにまとめてくださっているのでそちらを参考にしてください。

正直ここまで簡単に使えることに驚いたです。