1

**少し考えて編集しましたが、mechanizeを使用する必要はまったくないと思いましたが、Cookieやセッションデータとやり取りするためにどのPythonライブラリを使用すればよいかわかりません。誰かヒントを教えてください。自分 ?****

簡単なログインを実行し、一部のサイトのクレデンシャル(およびCookie、セッションデータも)を使用したいと思います。

フォームはJavascriptを使用して構築されているため、基本的なフォームの使用法を実行するためにmechanizeを使用しました

import cookielib
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)


br.set_debug_http(True)
br.set_debug_redirects(True)
br.set_debug_responses(True)

br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

parameters = { 'username' : 'w00t',
               'password' : 't00w'
            }
data = urllib.urlencode(parameters)
resp = br.open(url,data)

ただし、何らかの理由でサーバーから肯定的な応答が得られないようで、兆候が見られません(目的のページへのリダイレクトなど)。また、Cookieとセッションを実際に取得した後、続行する方法もわかりません。これらのCookieとセッションデータを引き続き使用する

私が見つけたものは私の問題を解決していないように見えるので、誰かが私にヒントを与えたり、正しいドキュメントを参照したりできるかどうか疑問に思っていました

4

1 に答える 1

1

以前、Python でこの種のことを行うために Requests ライブラリ (http://docs.python-requests.org/en/latest/index.html) を使用しました。非常に簡単で、優れたドキュメントがあることがわかりました。リクエストに Cookie を含める例を次に示します。

>>> url = 'http://httpbin.org/cookies'
>>> cookies = dict(cookies_are='working')

>>> r = requests.get(url, cookies=cookies)
>>> r.text
'{"cookies": {"cookies_are": "working"}}'

Mechanize を使用したことがありますが、思い出すと、Cookie が追跡されます。逆に、このライブラリでは、リクエストに応じて常に Cookie を再送信する必要があります。

于 2012-06-23T19:07:08.653 に答える