python多线程并发request
时间: 2023-11-22 19:49:38 浏览: 100
以下是使用Python多线程并发进行request的示例代码:
```python
import requests
import threading
from queue import Queue
# 定义请求函数
def request(url):
try:
response = requests.get(url)
print(response.text)
except Exception as e:
print(e)
# 定义线程函数
def thread(q):
while True:
url = q.get()
request(url)
q.task_done()
# 定义主函数
def main():
# 定义线程数和请求列表
thread_num = 5
url_list = ['http://www.example.com'] * 20
# 创建队列和线程
q = Queue()
for url in url_list:
q.put(url)
for i in range(thread_num):
t = threading.Thread(target=thread, args=(q,))
t.daemon = True
t.start()
# 阻塞队列,直到所有任务完成
q.join()
if __name__ == '__main__':
main()
```
该示例代码中,首先定义了一个请求函数request,用于发送请求并打印响应结果。然后定义了一个线程函数thread,用于从队列中获取请求链接并调用request函数进行请求。最后在主函数中,创建了一个队列和多个线程,并将请求链接放入队列中,然后启动线程进行请求。最后阻塞队列,直到所有任务完成。
阅读全文