【问题标题】:Python requests.get vs Session.get [duplicate]Python requests.get vs Session.get [重复]
【发布时间】:2021-01-05 08:44:48
【问题描述】:

我正在使用 python 请求从 API 获取数据

我使用的 API 在他们的文档中给出了这一点:

response = session.get(url, params=parameters)

但我阅读的教程使用:

tes = requests.get(url, headers={'Accept': 'application/json'}, params={'term': 'cat', 'limit': 1})

有什么区别,我应该使用什么?

【问题讨论】:

    标签: json api web-scraping python-requests


    【解决方案1】:

    如果您只想获取单个项目,请使用requests.get(),不需要先登录,也不需要持久化cookie。

    requests.readthedocs.io 的文档说:

    [requests.get() 没有] 拥有 Requests Session 对象的一些优点。特别是,会话级状态(例如 cookie)不会应用于您的请求。

    您仍然可以使用 requests.get() 发送和接收 cookie,但您需要自己管理它们。


    如果您有更复杂的任务需要持久性 cookie,请使用 Session.get()。或者您想加快对同一主机的多个请求。

    requests.readthedocs.io 的文档说

    Session 对象允许您跨请求保留某些参数。它还在 Session 实例发出的所有请求中保留 cookie,并将使用 urllib3 的连接池。因此,如果您向同一主机发出多个请求,则会重用底层 TCP 连接,从而显着提高性能(请参阅 HTTP 持久连接)。

    【讨论】:

    • 谢谢你说清楚!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2013-10-16
    • 2020-11-27
    • 2015-03-24
    • 1970-01-01
    相关资源
    最近更新 更多