image.png
用scrapy框架的時(shí)候望迎,一定要先明白執(zhí)行的順序:
spiders的yeild將request發(fā)送給引擎,
引擎 對request不做任何處理發(fā)送給 調(diào)度器,
調(diào)度器( url調(diào)度器)末早,生成request交給 引擎烟馅,
引擎 拿到request,通過 中間件 進(jìn)行層層過濾發(fā)送給 下載器然磷,
下載器 在網(wǎng)上獲取到response數(shù)據(jù)之后郑趁,又經(jīng)過 中間件 進(jìn)行層層過濾發(fā)送給 引擎,
引擎 獲取到response數(shù)據(jù)之后姿搜,返回給 spisers寡润,spiders的parse()方法對獲取到的response數(shù)據(jù)進(jìn)行處理,解析出items或者requests舅柜,
將解析出來的items或者requests發(fā)送給 引擎梭纹,
引擎 獲取到items或者requests,將items發(fā)送給 管道致份,將requests發(fā)送給 調(diào)度器 变抽,
注意!只有當(dāng)調(diào)度器中不存在任何request了氮块,整個(gè)程序才會(huì)停止绍载,(也就是說,對于下載失敗的URL滔蝉,Scrapy也會(huì)重新下載击儡。)