せっかく Twitter を始めたのだから、 Twitter API をちょっと使ったプログラムを作ってみた。自分のタイムラインを適当な件数取得して、それを表示するだけの小物だ。認証は Basic 認証にしか対応してないけど、その理由はいちいち OAuth のライブラリを探すのがタルかったから。でも将来的には OAuth が標準の認証 API になるんだっけ。
from urllib2 import (build_opener,
Request,
HTTPBasicAuthHandler,
HTTPPasswordMgrWithDefaultRealm)
import sys
uri = 'twitter.com'
user = '<ユーザ名>'
passwd = '<パスワード>'
count = 20
def get_timeline():
req = Request('http://twitter.com/statuses/user_timeline.xml?count=%d' % count)
pmgr = HTTPPasswordMgrWithDefaultRealm()
pmgr.add_password(None, uri, user, passwd)
director = build_opener(HTTPBasicAuthHandler(pmgr))
res = director.open(req)
return res.read()
from xml.dom.minidom import parseString
def extract_text(string):
doc = parseString(string)
for e in doc.getElementsByTagName('text'):
print e.firstChild.data
extract_text(get_timeline())
それにしてもあれだ、 urllib2 はできることは多いしそれらの機能の必要性もわかるけど、やっぱ使い勝手としてはあまり Python っぽくない。どっちかっていうと、これは Java 的な発想のライブラリに見えるなあ。それは必ずしも悪いものじゃないので、殊更否定はしないけどな。
追記:肝心の API 仕様書へのリンクを忘れてた。

この怪文書はクリエイティブ・コモンズ・ライセンスの元でライセンスされています。引用した文章など Kuwata Chikara に著作権のないものについては、それらの著作権保持者に帰属します。