ClientCookie による IE のクッキーの読み取り
ClientCookie のドキュメントにおもいっきり書いてあるけれどメモ。
IE のクッキーを読み取るには ClientCookie.MSIECookieJar インスタンスを作って load_from_registry() を呼ぶ。
import ClientCookie
ie_cookie_jar = ClientCookie.MSIECookieJar()
ie_cookie_jar.load_from_registry()
できあがったら後は urllib2.CookieJar クラスと同じ使い方をすれば OK。
MSIECookieJar は save メソッドが実装されていない( NotImplementedError になる)。 IE ブラウザのクッキーを読むことはできても書き戻しは不可。Python アプリ側で使う目的でディスクに保持するならば、 MozillaCookieJar などに変換してこれを保存。
mo_cookie_jar = ClientCookie.MozillaCookieJar(u"cookies") for cookie in ie_cookie_jar: mo_cookie_jar.set_cookie(cookie) mo_cookie_jar.save()
もしくは pickle する。
import pickle f = open('cookies', 'wb') pickle.dump(ie_cookie_jar, f) f.close()
個人的にはニコニコ動画のログイン情報を IE からとってくる際にお世話になった。これと urllib2 の組み合わせで簡易ニコニコダウンローダーして遊んだり。