Cookiejar 内の Cookie を反復処理できることはわかっています。これにより、特定の名前の Cookie を見つけることができますが、CookieJar オブジェクト自体に、特定の Cookie を名前で取得するために呼び出すことができるメソッドはありますか?
既に存在するヘルパー メソッドを作成する必要がなくなるだけです。
はい、__iter__
メソッドは の各 Cookie を通過しCookieJar
ます。
for cookie in cj:
print cookie.name, cookie.value, cookie.domain #etc etc
Cookie は単なる名前と値のペアではありません。プロパティの長いリスト (17) には、と がdomain
ありpath
ます。のドメイン値は、たとえば.ibm.com
Web サイトに適用されます。mail.ibm.com
のドメイン値ibm.com
とパス値は/abc
、Web ページには適用されませんibm.com/index.htm
。そのため、名前だけを指定しても、 で該当する Cookie の値を見つけるには不十分CookieJar
です。
メソッドは簡単にオブジェクト__iter__
のリストを返しますが、 exampleの内部構造は単純なリストではありません。クラスについての内部情報はこちらです。cookie
list(cj)
CookieJar
CookieJar
CookieJar からキー/値辞書を返すdict_from_cookiejarを使用することもできます。何かのようなもの:
my_cookies = requests.utils.dict_from_cookiejar(s.cookies)
次に、キーで Cookie 値にアクセスします。
cookielib.CookieJar?
jar をリストに変換して処理できます。{i.name: i for i in list(j)}
ところで、 j._cookies は実際にはすでに dict-dict ですが、完全に簡単にインデックス化されているわけではありません。
cookie jar ファイル?
それらはプレーンテキストファイルだと思いました...