scrapy engine(引擎):負責spider,ItemPipeline,Downloader,Scheduler中間的通信,信號,數據傳遞等
Scheduler(調度器):它負責接受引擎發送過來的request請求,並按照必定的方式進行整理排列,入隊,當引擎須要是交還給引擎
Downloader(下載器):負責下載引擎發送的全部request請求,並將其獲取到responses交還給引擎,有引擎交給spider來處理
spider(爬蟲):它負責處理全部responses從中分析提取數據,獲取item字段須要的數據,並將須要跟進分潤url提交給引擎,再次進入schedule(調度器)
Item Pipeline(管道):它負責spider中獲取到的ltem,並進行後期處理(詳情分析,過濾,儲存等)的地方
Downloader Middlewares(下載中間件):你可看成是一顆能夠自定義擴展下載功能的組件
Spider Middlewares(spider中間件):你能夠理解爲是一個能夠自定義擴展的操做引擎和spider中間通訊的功能組件(好比進入spider的responses和充spider出去的request)
1.建立項目(scrapy startproject 名稱)
scrapy genspider 名稱 ‘http://www.xxx.com’
2.明確目標(編寫items.py)
3.製做爬蟲(spiders/爬蟲.py)製做爬蟲開始爬取網頁
4.存儲內容(pipelines.py)設置管道存儲爬取內容
編寫 item.py 明確須要提取的數據
編寫 spiders/xxx.py 編寫爬蟲文件,處理請求和響應,以及提取數據(yield.item)
編寫 pipelines.py 編寫管道文件,處理 spider 返回 item 數據
編寫 settings.py 啓用管道組件,以及其餘相關設置
parse(self,response):解析的方法,每一個初始URL完成下載後將被調用,調用的時候傳人從每個url傳回的Response對象來做爲惟一參數,主要做用:
1.負責解析返回的網頁數據response.body,提取結構化數據(生成item)
2.生成須要下一頁的url請求