2011-08-04 8 views
1

多くのURLをダウンロードするにはPythonを使用する必要がありますが、アクセスするにはパスワードが必要です(たとえばcpanelのようなシステムに似ています)。ログインの反対側からファイルをダウンロードする

クッキーを保存する方法はありますか?

できるだけurllib2を使用したいと思います。

編集:明確にするために、私のウェブサイトであり、ログインの詳細があります。

UPDATE:私はこれを使用してい OK:

cj   = cookielib.CookieJar() 
opener  = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
login_data = urllib.urlencode({'login_name' : username, 'password' : password}) 
opener.open(loginURL, login_data) 
productlist = opener.open(productURL) 
print productlist.read() 

しかし、それだけで再びログインページを出してくれる。何が効いていないのですか? (変数がありますが、私はちょうど彼らがセキュリティのためのものです何を示さなかった)

答えて

0

あなたはこのように、urllib2.HTTPCookieProcessorを使用する必要があります。

import urllib2 
from cookielib import CookieJar 

cookiejar = CookieJar() 
opener = urllib2.build_opener() 
cookieproc = urllib2.HTTPCookieProcessor(cookiejar) 
opener.add_handler(cookieproc) 

次に、あなただけのURLにアクセスするためにopener.open()を使用し、クッキーは自動的に保存され、将来のリクエストで再利用されます。

+0

ありがとうございますが、どのように初めてパスワードを渡すのですか? – Rory

+0

私は、ログインの詳細がある別のページに投稿するサイトのどこかにログインフォームがあると信じています。サイトのログインの仕組みを見て、適切なページに正しいデータを投稿するためにurllibを使います。 Cookieが自動的に入力されます。 – MatToufoutu

+0

しかし、ブラウザからクッキーを取得するにはどうすればよいですか? – Rory

関連する問題