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に入っているので使えないのだけど。