大家好!有 3 个 GET 请求
r1 = requests.get('http://mysite.com/check.php?' + 'userid=666&userage=18')
r2 = requests.get('http://mysite.com/check.php?' + 'userid=777&userage=22')
r3 = requests.get('http://mysite.com/check.php?' + 'userid=888&userage=26')
发送它们并收到响应需要很长时间,如何减少这个时间?这三个请求减慢了整个程序。
请求可以通过线程并行化。
遍历所有元素后,结果将在
results
:PS。虽然
multiprocessing
它指的是进程中的处理,但它的模块multiprocessing.dummy
是通过线程工作的。附言 执行结果
results
会保存在 中requests.get(url)
,你可以在之后进行处理,例如:一种选择是使用异步。
这里有详细描述
更新。如果需要设置标题,可以使用
functools.partial
:或者使用 aiohttp:
此外,您可以考虑缓存查询结果(如果任务上下文允许),例如使用 redis(https://github.com/vivekn/redis-simple-cache作为选项)。