更新時(shí)間:2020-12-11 來源:黑馬程序員 瀏覽量:
Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,我們只需要實(shí)現(xiàn)少量代碼,就能夠快速的抓取到數(shù)據(jù)內(nèi)容。Scrapy使用了Twisted異步網(wǎng)絡(luò)框架來處理網(wǎng)絡(luò)通訊,可以加快我們的下載速度,不用自己去實(shí)現(xiàn)異步框架,并且包含了各種中間件接口,可以靈活的完成各種需求。
Scrapy框架的工作流程:
1.首先Spiders(爬蟲)將需要發(fā)送請(qǐng)求的url(requests)經(jīng)ScrapyEngine(引擎)交給Scheduler(調(diào)度器)。
2.Scheduler(排序,入隊(duì))處理后,經(jīng)ScrapyEngine,DownloaderMiddlewares(可選,主要有User_Agent, Proxy代理)交給Downloader。
3.Downloader向互聯(lián)網(wǎng)發(fā)送請(qǐng)求,并接收下載響應(yīng)(response)。將響應(yīng)(response)經(jīng)ScrapyEngine,SpiderMiddlewares(可選)交給Spiders。
4.Spiders處理response,提取數(shù)據(jù)并將數(shù)據(jù)經(jīng)ScrapyEngine交給ItemPipeline 保存(可以是本地,可以是數(shù)據(jù)庫)。提取url重新經(jīng)ScrapyEngine交給Scheduler進(jìn)行下一個(gè)循環(huán)。直到無Url請(qǐng)求程序停止結(jié)束。、
猜你喜歡: