You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Requests中保持单一会话循环提交不同Payload的问题

解决Requests会话复用问题

你现在的问题是每次循环都新建独立请求,没法复用会话的连接池、Cookie维持等优势。只需要把会话对象的创建移到循环外面,整个迭代过程用同一个会话发送请求即可。

修改后的代码:

import requests
from bs4 import BeautifulSoup

# 提前创建单次会话,放在循环外部
session = requests.Session()

# 根据循环条件初始化i的值
i = 2
while i < 1570:
    payload = {
        'number1': i,
    }
    
    # 使用会话对象发送POST请求
    r = session.post(url, data=payload)
    soup = BeautifulSoup(r.content, "lxml")
    
    # 处理完请求后再递增i
    i += 1

关键说明

  • requests.Session()创建的会话会自动维护Cookie,并且复用底层TCP连接,避免每次请求都重新建立连接,大幅提升请求效率
  • 会话对象的post、get等方法用法和直接调用requests.post完全一致,不需要大幅修改原有代码
  • 把会话创建放在循环外,就能保证整个迭代过程用的是同一个活跃会话

内容的提问来源于stack exchange,提问作者TheAtef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:12:35