Diary?

2009-05-26
Tue

(22:02)

せっかく 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 仕様書へのリンクを忘れてた。

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