python 怎么做并发请求
要实现并发请求,可以使用Python中的多线程或者多进程来实现。下面分别介绍两种方法。
- 使用多线程:
import requests
from concurrent.futures import ThreadPoolExecutor
# 定义一个请求函数
def fetch(url):
response = requests.get(url)
print(response.text)
# 创建线程池
pool = ThreadPoolExecutor(10)
# 添加任务到线程池
urls = ["http://example.com", "http://example.org", "http://example.net"]
for url in urls:
pool.submit(fetch, url)
# 关闭线程池
pool.shutdown()
- 使用多进程:
import requests
from multiprocessing import Pool
# 定义一个请求函数
def fetch(url):
response = requests.get(url)
print(response.text)
# 创建进程池
pool = Pool(10)
# 添加任务到进程池
urls = ["http://example.com", "http://example.org", "http://example.net"]
for url in urls:
pool.apply_async(fetch, args=(url,))
# 关闭进程池
pool.close()
pool.join()
无论是多线程还是多进程,都可以通过创建线程池或进程池来实现并发请求。然后将请求任务添加到线程池或进程池中,最后关闭线程池或进程池。这样就可以同时发送多个请求并并发处理返回结果
原文地址: https://www.cveoy.top/t/topic/iRGO 著作权归作者所有。请勿转载和采集!