要在Python中并发执行request请求,可以使用concurrent.futures
库中的ThreadPoolExecutor
或ProcessPoolExecutor
。这里给出一个使用ThreadPoolExecutor
的示例:
首先,确保已经安装了requests
库,如果没有安装,可以使用以下命令安装:
pip install requests
然后,可以使用以下代码并发执行request请求:
import requests
from concurrent.futures import ThreadPoolExecutor, as_completed
def fetch(url):
response = requests.get(url)
return response.text
urls = [
"https://www.example.com",
"https://www.example.org",
"https://www.example.net",
]
with ThreadPoolExecutor() as executor:
futures = [executor.submit(fetch, url) for url in urls]
for future in as_completed(futures):
try:
result = future.result()
print(result)
except Exception as e:
print(f"Error: {e}")
这个示例中,我们定义了一个fetch
函数,用于发起GET请求并返回响应内容。然后,我们创建了一个ThreadPoolExecutor
实例,并使用submit
方法将fetch
函数提交给线程池。最后,我们使用as_completed
函数等待所有请求完成,并打印结果。