1. ホーム
  2. python

[解決済み] Python を使って Web ページにログインし、後で使用するためにクッキーを取得するには?

2022-05-07 01:02:56

質問

Pythonを使用してWebページをダウンロードし、解析したいのですが、アクセスするためにいくつかのクッキーが設定されている必要があります。したがって、私は最初にウェブページにhttpsでログインする必要があります。ログインの瞬間は、2つのPOSTパラメータ(ユーザー名、パスワード)を/login.phpに送信することを含みます。ログイン要求の間に、私は応答ヘッダーからクッキーを取得し、ウェブページ/data.phpをダウンロードする要求で使用できるようにそれらを保存したいと思います。

Python (できれば2.6)でこれをどのように行いますか?可能であれば、私はビルトインモジュールだけを使用したいです。

どのように解決するのですか?

import urllib, urllib2, cookielib

username = 'myuser'
password = 'mypassword'

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'username' : username, 'j_password' : password})
opener.open('http://www.example.com/login.php', login_data)
resp = opener.open('http://www.example.com/hiddenpage.php')
print resp.read()

resp.read() は開きたいページのストレートhtmlで opener を使えば、セッションクッキーを使ってどんなページでも見ることができます。