
Scrapy Engine(引擎): 負(fù)責(zé)Spider、ItemPipeline、Downloader、Scheduler中間的通訊,信號、數(shù)據(jù)傳遞等。
Scheduler(調(diào)度器): 它負(fù)責(zé)接受引擎發(fā)送過來的Request請求,并按照一定的方式進(jìn)行整理排列,入隊(duì),當(dāng)引擎需要時,交還給引擎。
Downloader(下載器):負(fù)責(zé)下載Scrapy Engine(引擎)發(fā)送的所有Requests請求,并將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spider來處理,
Spider(爬蟲):它負(fù)責(zé)處理所有Responses,從中分析提取數(shù)據(jù),獲取Item字段需要的數(shù)據(jù),并將需要跟進(jìn)的URL提交給引擎,再次進(jìn)入Scheduler(調(diào)度器),
Item Pipeline(管道):它負(fù)責(zé)處理Spider中獲取到的Item,并進(jìn)行進(jìn)行后期處理(詳細(xì)分析、過濾、存儲等)的地方.
Downloader Middlewares(下載中間件):是一個可以自定義擴(kuò)展下載功能的組件。
Spider Middlewares(Spider中間件):是一個可以自定擴(kuò)展和操作引擎和Spider中間通信的功能組件(比如進(jìn)入Spider的Responses;和從Spider出去的Requests)
scrapy startproject 爬蟲項(xiàng)目名稱
新建一個新的爬蟲
明確目標(biāo)
(編寫items.py):明確你想要抓取的目標(biāo)
- 制作爬蟲
scrapy genspider 爬蟲文件名稱 域名:制作爬蟲開始爬取網(wǎng)頁
- 存儲內(nèi)容
(pipelines.py):設(shè)計管道存儲爬取內(nèi)容