Python grequests issu公司

2024-09-28 03:14:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用grequests Python库同时调用多个url。问题是我不太明白格瑞克斯的逻辑。以下是我的代码:-在

respArray = []
response = []
sessionvar = requests.Session()
sessionvar.trust_env = False
for each in range(0,len(urls)):
        response.append(grequests.get(urls[each],session=sessionvar,cookies=cookiesArray[each]))
        eachresp = grequests.map(response)
 for r in eachresp:
    respArray.append(r.json())

return respArray

MyrespArray返回从url返回的每个单独数组。 当我运行这个数组时,就好像每个数组都在自己的循环中运行,而不是同时运行。我不知道如何让它并发运行,以便获得更快的结果。在


Tags: 代码inurlforresponse数组逻辑requests
1条回答
网友
1楼 · 发布于 2024-09-28 03:14:00

此代码:

for each in range(0,len(urls)):
        response.append(grequests.get(urls[each],session=sessionvar,cookies=cookiesArray[each]))
        eachresp = grequests.map(response)
 for r in eachresp:
    respArray.append(r.json())

有效地按顺序发送每个请求。发送url并等待grequests在每次循环迭代中发送它。在

基本上它看起来像:

  • 循环,等待请求
  • 循环迭代,等待请求

等等

您需要按照their documentation suggests的方式操作:

^{pr2}$

这将建立未发送请求的列表,然后将它们全部发送到一起。换句话说:

  • 循环迭代,创建未发送的请求
  • 循环迭代,创建未发送的请求
  • 。。。在
  • 同时发送所有请求

相关问题 更多 >

    热门问题