【问题标题】:why doesn't request lib provide all cookies为什么请求库不提供所有cookie
【发布时间】:2021-10-07 20:39:38
【问题描述】:

我不明白为什么 python 请求库没有提取所有 cookie。例如,我正在运行此代码

import requests

a_session = requests.Session()
a_session.get('https://google.com/')
session_cookies = a_session.cookies
cookies_dictionary = session_cookies.get_dict()

print(cookies_dictionary)

但即使应该有几个 cookie,我也只能得到 cookie“1P_JAR”。 list of cookies shown up on inspector pannel

最终我试图弄清楚为什么它只选择那个 1 cookie 而不是其他的,因为我正在尝试构建我自己的应用程序来生成一个 cookie,但是当我在我的应用程序上运行这个脚本时,我回来并清空即使检查器显示我已经生成了一个 cookie,也可以列出。

【问题讨论】:

  • Requests 提供了它从服务器接收到的内容。
  • 那么其他cookie不是来自服务器吗?如何从 python 读取其他 cookie?

标签: python cookies python-requests session-cookies


【解决方案1】:

cookie 由服务器对特定请求的响应设置。

您的基本 google.com 请求仅设置该 cookie,您可以通过 set-cookie 标头观察。

其他 cookie 可能是由其他请求甚至 js 代码设置的。 Requests 不会评估或运行 js,因此不会发出任何其他请求。

如果您不想完全反转每个 cookie,可以使用 Selenium + Chrome 驱动程序或类似的解决方案来模拟浏览器。

【讨论】:

    猜你喜欢
    • 2012-02-10
    • 2019-05-19
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 2020-04-05
    • 2014-12-16
    • 2017-07-03
    相关资源
    最近更新 更多