先来看一下Scrapy是什么
Scrapy是一套基于Twisted的移步处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容或者各种图片。
1、Scrapy架构图(绿线为数据流)
- Scrapy Engine(引擎):其本身什么事都不做,就只号发指令,完成通信的功能,指派四个组件完成相关操作。
- Scheduler(调度器):负责接收 Scrapy Engine 发送来的 Requests,并将其整理(去重处理)排列进队列存放,当 Scrapy Engine 需要时,还给 Scrapy Engine 发送去 Downloader 进行下载。
- Downloader(下载器):负责下载 Scrapy Engine 发送来的 Requests,并将其获取的 Responses 文件(经过下载中间件处理的)交还给 Scrapy Engine,由 Scrapy Engine 交给 Spiders 进行处理。
- Spiders(爬虫):负责解析 Responses 文件 ,从中提取需要的数据 (Item、URL)。将 Item 数据交由 Scrapy Engine 传送给 Item Pipeline,将新的请求(URL) 交由 Scrap