分布式爬虫:概念介绍
需求:目标网站有 2w 个url,请求并处理这些 2w 个响应数据,然后入库
方案一:单服务器爬虫
- 一个爬虫,负责2w个url,0.1*20000=2000秒
方案二:分布式爬虫,协同
- 100个爬虫,一个爬虫负责200个url,0.1*200=20秒
- 100个爬虫,同时工作
误区:多个单服务器爬虫 != 分布式爬虫
- 单服务器爬虫,它包含 自己的工作量和自己的工人
- 分布式爬虫,统一的工作量+可分配数量的工人
分布式爬虫的工作原理:
- 分布式爬虫,只包含处理响应的函数部分,不包括 目标网站的url 目标网站的url,在数据库中,分布式爬虫负责从这里取url并自行请求和处理数据 多个分布式爬虫,只需要多次启动该分布式爬虫即可。就可以做到
- 多个爬虫,同时请求数据库并获取url,然后自行处理url和响应
分布式爬虫:环境安装
1. scrapy安装 步骤:这个阶段,scrapy环境必须是完整的,安装过程略
2. python3安装scrapy-redis库
- $ pip3 install scrapy-redis
3. 安装 Redis 数据库
- windows:redis-win软件
- Ubuntu: sudo apt-get install redis
- MacOS: brew install redis Redis数据库安装好后,默认是6379端口,没有账号密码