首先我们看张图:
这行图展示了scrapy框架的各个组成部分;
下面具体看一下。
Scrapy Engine:顾名思义是Scrapy的一个引擎,其主要作用是负责数据之间的流转,当某个动作发生时就触发某个事件。
Schedule:(时间表)接收request,并且把它们进行入队操作,以便后续的调度。
Downloader:下载器,主要负责抓取网页,并且传送给引擎,之后将抓取结果传给spider。
Spiders:爬虫部分,是用户编写可定制化的部分,主要负责解析response,产生items和URl
Item pipeline:负责处理item,典型的用途有:清洗,验证,持久化。
Downloader middlewares:位于Scrapy Engine 和 Download之间的一个钩子,是一个中间件,负责处理传送到下载器的request和传动到引擎的response。
Spider Middlewares:位于Scrapy Engine 和 Spiders之间的一个钩子,也是一个中间件,负责处理抓取器的输入和输出。
Scrapy中的数据流由执行控制,其过程如下: