Python grequests问题
我试图使用Python的grequests库同时调用多个URL。问题是我不太理解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=
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返回的每个单独数组。
当我运行该数组时,就好像每个数组都在自己的循环中运行,而不是并发运行。我不知道如何让它同时运行,以便获得更快的结果。此代码:
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在每个循环迭代中发送它
基本上它看起来像:
- 循环迭代,等待请求
- 循环迭代,等待请求
- 循环迭代,创建未发送的请求
- 循环迭代,创建未发送的请求
- 同时发送所有请求