クッキーを保存・送信しながらWebアクセスする
urllib2とcookielibを使います。
クッキーファイルの読み書きはcookiejar.load()、cookiejar.save()で明示的に行います。
from cookielib import LWPCookieJar from urllib2 import HTTPCookieProcessor from urllib2 import HTTPHandler cookiejar = LWPCookieJar('cookie.txt') cookiejar.load() cookieprocessor = HTTPCookieProcessor(cj) httphander = HTTPHandler() opener = build_open(httphander, cookieprocessor) url = '...' response = opener.open(url) cookiejar.save()
ここではPerlのLWPモジュールと同じ形式で保存するLWPCookieJarクラスを使いましたが、他にMozilla系ブラウザと同じ形式で保存するMozillaCookieJarクラスがあります。
MozillaCookieJarを使えば、FirefoxやLynxなどのブラウザと共通のクッキーを使ってアクセスできます。ただしPythonスクリプトからブラウザのクッキーファイルに直接saveするのは好ましくありません。もしブラウザが実行中だった場合、ブラウザの終了でクッキーが上書きされてしまうからです。