Python2.6で15行ではてなスターを連打

Firefox2を使っていて、そのクッキー情報は"/Users/nishio/Library/Application Support/Firefox/Profiles/(プロファイル名).default/cookies.txt"に記録されているので、それを読み込んでしまえばめんどくさい認証のことを考える必要がない。そしてその読み込みには標準ライブラリのcookielib.MozillaCookieJarを使えばいい。
Python2.6からはJSONも標準サポートされたので下の15行のコードではてなスター10連打ができる。2.6を使いたくない人はsimplejsonとかを使うといい。

import cookielib, urllib2, json, time
cookies_file = "/Users/nishio/Library/Application Support/Firefox/Profiles/2ac0yy4n.default/cookies.txt"
target_uri = "http://d.hatena.ne.jp/nishiohirokazu/20090327/1238138421"
entries_uri = "http://s.hatena.ne.jp/entries.json?uri=" + target_uri
add_ster_uri = "http://s.hatena.ne.jp/star.add.json?uri=" + target_uri

jar = cookielib.MozillaCookieJar()
jar.load(cookies_file)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
data = opener.open(entries_uri).read()
rks = json.loads(data)["rks"]
add_ster_uri += "&rks=" + rks
for i in range(10):
    opener.open(add_ster_uri).read()
    time.sleep(1)

まあ、Firefox3からはクッキー情報がSQLiteに入っているので使えないのだけど。