python多进程爬虫
时间: 2023-10-10 12:15:32 浏览: 170
基于Python的多进程爬取在线课程并存入Mysql数据库.zip
Python 提供了 `multiprocessing` 模块来实现多进程爬虫。下面是一个简单的示例代码:
```python
import multiprocessing
import requests
def spider(url):
response = requests.get(url)
print(response.text)
if __name__ == '__main__':
urls = ['http://www.baidu.com', 'http://www.sina.com', 'http://www.qq.com']
pool = multiprocessing.Pool(processes=3)
pool.map(spider, urls)
```
以上代码中,我们定义了一个 `spider` 函数,用于爬取网页并打印响应内容。在主程序中,我们定义了一个 `urls` 列表,其中包含了三个要爬取的网址。然后,我们创建了一个 `multiprocessing.Pool` 对象,该对象的 `processes` 参数指定了要创建的进程数。最后,我们调用 `pool.map` 方法,将 `spider` 函数和 `urls` 列表作为参数传入,让多个进程同时爬取这些网页。
需要注意的是,由于 Python 的 GIL 限制,多进程爬虫可能无法实现真正的并发。如果需要实现更高效的并发爬取,可以考虑使用多线程或异步编程方式。
阅读全文