1,spider打開某網頁,獲取到一個或者多個request,經由scrapy engine傳送給調度器scheduler
request特別多並且速度特別快會在scheduler形成請求隊列queue,由scheduler安排執行
2,schelduler會按照一定的次序取出請求,經由引擎, 下載器中間鍵,發送給下載器dowmloader
這里的下載器中間鍵是設定在請求執行前,因此可以設定代理,請求頭,cookie等
3,下載下來的網頁數據再次經過下載器中間鍵,經過引擎,經過爬蟲中間鍵傳送給爬蟲spiders
這里的下載器中間鍵是設定在請求執行后,因此可以修改請求的結果
這里的爬蟲中間鍵是設定在數據或者請求到達爬蟲之前,與下載器中間鍵有類似的功能
4,由爬蟲spider對下載下來的數據進行解析,按照item設定的數據結構經由爬蟲中間鍵,引擎發送給項目管道itempipeline
這里的項目管道itempipeline可以對數據進行進一步的清洗,存儲等操作
這里爬蟲極有可能從數據中解析到進一步的請求request,它會把請求經由引擎重新發送給調度器shelduler,調度器循環執行上述操作
5,項目管道itempipeline管理着最后的輸出
