クッキージャーでクッキーを繰り返し処理できることがわかっているので、特定の名前のクッキーを見つけることができますが、CookieJarオブジェクト自体には、名前による特定のクッキー?CookieJarから名前でクッキーを取得する
すでに存在するヘルパーメソッドを記述する必要がありません。
クッキージャーでクッキーを繰り返し処理できることがわかっているので、特定の名前のクッキーを見つけることができますが、CookieJarオブジェクト自体には、名前による特定のクッキー?CookieJarから名前でクッキーを取得する
すでに存在するヘルパーメソッドを記述する必要がありません。
はい、__iter__
方法はCookieJar
に各クッキーを通過します。
for cookie in cj:
print cookie.name, cookie.value, cookie.domain #etc etc
クッキーは単なる名前と値のペアではありません。プロパティの長いリスト(17)には、domain
とpath
があります。 .ibm.com
のドメイン値は、例えばウェブサイトmail.ibm.com
に適用可能である。 ibm.com
のドメイン値と/abc
のパス値は、Webページibm.com/index.htm
には適用されません。したがって、名前だけを指定すると、該当するCookieの値をCookieJar
に見つけることは不十分です。
__iter__
方法は、簡単に例list(cj)
をcookie
オブジェクトのリストを返しますが、CookieJar
の内部構造が単純なリストではありません。 CookieJar
クラスに関する内部はhereです。
cookielib.CookieJar?
jarをリストに変換して処理することができます。 {i.name: i for i in list(j)}
とbtw、j._cookiesは、実際にはdict-dictですが、まだ完全には索引付けされていません。
cookie jarファイル?私はそれらがプレーンテキストファイルだと思っていた
...
dict_from_cookiejarを使用して、CookieJarからキー/値の辞書を返すこともできます。次のようなもの:
my_cookies = requests.utils.dict_from_cookiejar(s.cookies)
次に、キーでCookieの値にアクセスします。
それは文書化されていない内部のですが、あなたは直接このようにクッキーにアクセスすることができます。cookiejar._cookies[domain][path][name]
ない私が見ることができること、ありません。クッキージャーオブジェクトをサブクラス化することもできますが、メソッドが存在しない理由はわかりません。 – Blender