python 爬虫线程池代码编写
时间: 2023-10-11 22:10:28 浏览: 103
以下是一个简单的Python爬虫线程池代码示例:
```python
import requests
from concurrent.futures import ThreadPoolExecutor
# 爬取的URL列表
urls = [
'http://www.example.com',
'http://www.example.net',
'http://www.example.org'
]
def fetch(url):
"""发送请求并返回响应内容"""
response = requests.get(url)
return response.text
# 同时最多开启的线程数
max_workers = 3
# 创建线程池
with ThreadPoolExecutor(max_workers=max_workers) as executor:
# 提交任务并获取future列表
futures = [executor.submit(fetch, url) for url in urls]
# 获取所有响应内容并打印
for future in futures:
print(future.result())
```
这段代码使用了Python标准库中的concurrent.futures模块中的ThreadPoolExecutor类,通过创建一个线程池来并发地发送多个请求。首先定义了一个fetch函数用于发送请求并返回响应内容,然后创建一个URL列表,指定同时最多开启的线程数,创建线程池并使用submit方法提交任务。最后从每个future对象中获取响应内容并打印。
阅读全文