①spilder组件重要的作用有两个:一个是告诉scrapy,下载哪些url(requests)。第二个作用是将设置好的item,通过yield item,这个item就会有pipelines来进行处理。
这两种主要由yield来做的,所以可以yield两种内容
第一种:yield scrapy.Responset(),这样就是发送请求。
第二种:yield item,就是处理item。
调度器:调度器将spiders组件发送过来的requests,排列入队,将来就从这个队列中一个一个的发送给下载器进行下载。这个调度器是通过一个优先级队列来实现的。
queue{
request1:0,
request2:1,
}
下载器:将从调度器过来的requests下载好,并将下载好的response传递给该request所对应callback回调函数来处理。
itempipelines:传输数据的管道。主要的作用就是处理从spider传递过来的item。默认是由process_item这个方法来处理的。
scrapy引擎:他的就是给组件之间的交互都是由引擎来完成的,组件之间是没有直接联系的,这是为了降低组件之间的耦合。