scrapy爬蟲框架結(jié)構(gòu)
爬蟲框架
??? 爬蟲框架是實(shí)現(xiàn)爬蟲功能的一個(gè)軟件結(jié)構(gòu)和功能組件的集合
??? 爬蟲框架是一個(gè)半成品潭千,能夠幫助用戶實(shí)現(xiàn)專業(yè)網(wǎng)絡(luò)
“5+2”結(jié)構(gòu)
???? 用戶編寫實(shí)現(xiàn):(? 入口:SPIDERS? ? 出口:ITEMPIPELINES)
???? 已有實(shí)現(xiàn):ENGINE,SCHEDULER,DOWNLOADER
? ?? 模塊的功能
???? 1.Engine
???????????? 不需要用戶修改
???????????? 控制所有模塊之間的數(shù)據(jù)流
???????????? 根據(jù)條件觸發(fā)事件
????? 2.Downloader
???????????? 不需要用戶修改
???????????? 根據(jù)請(qǐng)求下載網(wǎng)頁
?????? 3.Scheduler
???????????? 不需要用戶修改
???????????? 對(duì)所有爬取請(qǐng)求進(jìn)行調(diào)度管理
?????? 4.Downloader Middleware中間件
???????????? 目的:實(shí)施Engine侄榴、Scheluder胖眷、Downloader之間進(jìn)行用戶可配置的控制
???????????? 功能:修改丟棄新增請(qǐng)求或響應(yīng)
???????????? 用戶可以編寫配置代碼
?????? 5.Spider(核心單元)
???????????? 解析Downloader返回的響應(yīng)
???????????? 產(chǎn)生爬取項(xiàng)
???????????? 產(chǎn)生額外的爬取請(qǐng)求
??????? 6.Item pipelines
???????????? 以流水線方式處理Spider產(chǎn)生的爬取項(xiàng)
???????????? 由一組操作順序組成加匈,類似流水線铁追,每個(gè)操作是一個(gè)Item pipeline類型
???????????? 可能操作包括:清理憎兽、檢驗(yàn)和查重爬取項(xiàng)中給的HTML數(shù)據(jù)撑蚌、將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫
???????? 7.Spider? Middleware
? ? ? ? ? ?? 目的:對(duì)請(qǐng)求和爬取項(xiàng)的再處理
? ? ? ? ? ?? 功能:修改丟棄新增請(qǐng)求或爬取項(xiàng)
Requests? vs.? Srcapy
Scrapy框架常用命令
???? cmd -> scrapy -h ->進(jìn)入scrapy命令行??????????
??????????????????????????????????????????????? scrapy常用命令