五大模塊
中間的是引擎: 引擎負(fù)責(zé)各個模塊之間的通信與調(diào)度
引擎的下面是 spiders 爬蟲文件
引擎的上面是調(diào)度器
引擎的左面是數(shù)據(jù)管道
引擎的右面是下載器
引擎和下載器中間是 下載中間件
引擎和爬蟲中間是 爬蟲中間件
具體的運(yùn)行流程:
- spiders 爬蟲文件里面有一個start_url的參數(shù)扭仁,里面放的就是我們要爬取的目標(biāo)url ,
- 把要爬取的url 構(gòu)建一個request 請求讥此,經(jīng)過爬蟲中間件給引擎浸踩,經(jīng)過引擎給調(diào)度器乏奥,把任務(wù)存放在任務(wù)隊(duì)列里面黍图,
- 如果要獲取數(shù)據(jù)的時候屡限,從調(diào)度器里面拿數(shù)據(jù)給引擎谓厘,
- 引擎拿到請求之后询一,經(jīng)過下載中間件給下載器 (request 請求)均唉,把request 給我們的下載器是晨,
- 下載器根據(jù)引擎發(fā)過來的任務(wù),向?qū)Ψ椒?wù)器發(fā)起請求拿到一個response 響應(yīng)舔箭,
- 最終把響應(yīng)通過下載中間件罩缴,經(jīng)過引擎,經(jīng)過爬蟲中間件层扶,最終給spiders 爬蟲文件(最終把response響應(yīng)給爬蟲文件),
- 爬蟲文件拿到響應(yīng)之后在爬蟲文件里面做兩件事 (1.解析響應(yīng)箫章,提取目標(biāo)數(shù)據(jù),2.提取新的url)镜会,
- 爬蟲文件拿到item 數(shù)據(jù)給管道(item 數(shù)據(jù))檬寂,管道拿到數(shù)據(jù)之后做數(shù)據(jù)的過濾和持久化。