30

Cookiejar 内の Cookie を反復処理できることはわかっています。これにより、特定の名前の Cookie を見つけることができますが、CookieJar オブジェクト自体に、特定の Cookie を名前で取得するために呼び出すことができるメソッドはありますか?

既に存在するヘルパー メソッドを作成する必要がなくなるだけです。

4

4 に答える 4

31

はい、__iter__メソッドは の各 Cookie を通過しCookieJarます。

for cookie in cj:
   print cookie.name, cookie.value, cookie.domain #etc etc

Cookie は単なる名前と値のペアではありません。プロパティの長いリスト (17) には、と がdomainありpathます。のドメイン値は、たとえば.ibm.comWeb サイトに適用されます。mail.ibm.comのドメイン値ibm.comとパス値は/abc、Web ページには適用されませんibm.com/index.htm。そのため、名前だけを指定しても、 で該当する Cookie の値を見つけるには不十分CookieJarです。

メソッドは簡単にオブジェクト__iter__のリストを返しますが、 exampleの内部構造は単純なリストではありません。クラスについての内部情報はこちらです。cookielist(cj)CookieJarCookieJar

于 2014-12-17T10:52:41.147 に答える
24

CookieJar からキー/値辞書を返すdict_from_cookiejarを使用することもできます。何かのようなもの:

my_cookies = requests.utils.dict_from_cookiejar(s.cookies)

次に、キーで Cookie 値にアクセスします。

于 2015-06-03T13:46:04.000 に答える
1

cookielib.CookieJar?

jar をリストに変換して処理できます。{i.name: i for i in list(j)}

ところで、 j._cookies は実際にはすでに dict-dict ですが、完全に簡単にインデックス化されているわけではありません。

cookie jar ファイル?

それらはプレーンテキストファイルだと思いました...

于 2012-10-08T19:32:43.970 に答える