どもー、最近 Python 使いになり始めた techno でございますー。
ここ数カ月、Python ばかり書きまくってるような気がしますが、まあ気にしない。
こまごました物を、いろいろ作って遊んでるのですが、ブログに書くほどでもなさそうだったり、ブログ書く時間がなかったりで、あまり書いてません...
ま、今日は、時間もないけど、少し書いてみようかな、みたいな。
Python から twitter を扱うことについて。
簡単に、ざざざ、っとメモ書きだけ。
Python から twitter いじりたいなら、python-twitter を使うことになるかと。
Debian とかだと、リポジトリに入ってます。
sudo aptitude install python-twitter とかすれば使えるようになっちゃいます。
ただし、version が 0.5 だったりするので... (執筆時最新版は0.6
ちなみに、ドキュメントも結構充実しています。
ここ見れは使えますね!!
って、正直、それで終わりなのですが...
まあ、こんなことやったなー、みたいな log を残すためにこのブログはあったりするので、ちゃんと書きます。
まず、python-twitter を使うには、import する必要がありますねー。
import twitter
で ok です。
じゃ、まず何してみる?
ってことで、僕は friends と followers の取得をしてみました。(何で最初にw
Api.GetFriends() と Api.GetFollowers() を使う。非常に簡単。
import twitter
USER = "example"
PASS = "hogehoge"def print_users(users):
for user in users:
print "[%20s]: %s" % (user.screen_name, user.name)api = twitter.Api(username = USER, password = PASS)
friends = api.GetFriends()
followers = api.GetFollowers()
print_users(friends)
print_users(followers)
とかしてみます。
ずらずらずらーっと、friends と followers が表示されますー。
って、こんなの取得できてもしょうがないので、次に TL 取得行ってみましょ。
自分の Friends の Timeline を取得してみます。
Api.GetFriendsTimeline() を使います。
import twitter
USER = "example"
PASS = "hogehoge"api = twitter.Api(username = USER, password = PASS)
tl = api.GetFriendsTimeline()for s in tl:
print "[%10s] %s" % (s.user.screen_name, s.text)
これだけ。
twitter.Status なオブジェクトの塊を返してきます。for で処理します。
Python とか、こういうライブラリ多すぎて、簡単すぎて泣けてくるよね...
取得だけできても、Post できないと話にならないよねー。
ってことで、最後にメッセージを Post してみます。
Post するには、Api.PostUpdate(string) を使います。
import sys
import twitterUSER = "example"
PASS = "hogehoge"api = twitter.Api(username = USER, password = PASS)
print "What are you doing?: ",
postmsg = sys.stdin.readline()
ret = api.PostUpdate(postmsg.decode("utf-8"))
ちゃんと日本語も対応できるように、utf-8 で decode してあげましょう。
端末が、EUC とかなら、また変わってきますが...
さあいけー。
というわけで、ちゃんと post できます。
from は、デフォルトだと API になります。
いや、from をオリジナルにするのは、けっこう手間かかるんですよ...
ちなみに、SetSource(source) でできます。(python-twitter >= 0.6
簡単に流してきたけど、とりあえず終わり。
Python + twitter でちょっと遊んでみるのも、けっこうおもしろかったりする...
集中講義聞きながら、こんな物作ってました。
最近、こんな変なものしか作ってないんです...
そ、この記事は、集中講義を流し聞きしていた代わりに得た...
なんてことはないですよ、ちゃんと講義も聞いてましたよ。(標準履修年次3だったりするけど。


コメントする