Python grequests问题

Python grequests问题,python,python-requests,sdn,grequests,Python,Python Requests,Sdn,Grequests,我试图使用Python的grequests库同时调用多个URL。问题是我不太理解grequests的逻辑。下面是我的代码示例(编辑版本):- respArray = [] response = [] sessionvar = requests.Session() sessionvar.trust_env = False for each in range(0,len(urls)): response.append(grequests.get(urls[each],session=

我试图使用Python的grequests库同时调用多个URL。问题是我不太理解grequests的逻辑。下面是我的代码示例(编辑版本):-

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
My
respArray
返回从URL返回的每个单独数组。 当我运行该数组时,就好像每个数组都在自己的循环中运行,而不是并发运行。我不知道如何让它同时运行,以便获得更快的结果。

此代码:

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在每个循环迭代中发送它

基本上它看起来像:

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

您需要遵循以下步骤:

这将建立未发送请求的列表,然后将它们一起发送。换言之:

  • 循环迭代,创建未发送的请求
  • 循环迭代,创建未发送的请求
  • 同时发送所有请求
此代码:

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在每个循环迭代中发送它

基本上它看起来像:

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

您需要遵循以下步骤:

这将建立未发送请求的列表,然后将它们一起发送。换言之:

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

我实际上需要传递cookies,cookies充当检索数据的令牌。。我想要的是按顺序使用r.json()来调用每个URL的xml结构中更深的内容。r.json()将所有响应一起提供给我。。我如何使用它们来并行调用每个URL中更深的内容?这样会使我的搜索条件更快。我实际上需要传递cookies,cookies充当检索数据的令牌。。我想要的是按顺序使用r.json()来调用每个URL的xml结构中更深的内容。r.json()将所有响应一起提供给我。。我如何使用它们来并行调用每个URL中更深的内容?这样会使我的搜索条件更快。