せっかく 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 に著作権のないものについては、それらの著作権保持者に帰属します。