柚子快報(bào)邀請(qǐng)碼778899分享:爬蟲視頻學(xué)習(xí)之scrapy模塊
柚子快報(bào)邀請(qǐng)碼778899分享:爬蟲視頻學(xué)習(xí)之scrapy模塊
目錄
1.scrapy是什么
2.主要人物
3.scrapy優(yōu)點(diǎn)
4.?scrapy項(xiàng)目開發(fā)流程
5.組織架構(gòu)及工作流程
1.scrapy是什么
scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,可以應(yīng)用在包括數(shù)據(jù)挖掘、信息處理或存儲(chǔ)歷史數(shù)據(jù)等一系列程序中
2.主要人物
引擎(engine):scrapy的核心,負(fù)責(zé)處理整個(gè)系統(tǒng)的數(shù)據(jù)流。組織核心人物,負(fù)責(zé)整體的協(xié)調(diào)工作,其他所有成員在其控制下協(xié)同工作
爬蟲(spider):爬蟲的核心,負(fù)責(zé)定義如何抓取數(shù)據(jù)以及如何解析數(shù)據(jù)
調(diào)度器(scheduler):對(duì)spider提交的工作進(jìn)行調(diào)度,負(fù)責(zé)管理請(qǐng)求隊(duì)列,決定了請(qǐng)求順序
下載器(downloader):負(fù)責(zé)從網(wǎng)站下載網(wǎng)頁內(nèi)容
數(shù)據(jù)管道(pipeline):負(fù)責(zé)對(duì)爬取到的數(shù)據(jù)進(jìn)行處理,例如驗(yàn)證數(shù)據(jù)、清洗數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)
中間件(middleware):負(fù)責(zé)對(duì)request對(duì)象和response對(duì)象進(jìn)行處理
3.scrapy優(yōu)點(diǎn)
高效穩(wěn)定:采用異步IO的方式進(jìn)行爬取,能夠較快地抓取大量數(shù)據(jù),并且具有較高的穩(wěn)定性和可靠性擴(kuò)展性強(qiáng):提供了豐富的插件和擴(kuò)展機(jī)制,可以輕松實(shí)現(xiàn)各種自定義需求數(shù)據(jù)處理方便:支持?jǐn)?shù)據(jù)的自動(dòng)化處理、存儲(chǔ)和導(dǎo)出,可以方便地對(duì)抓取到的數(shù)據(jù)進(jìn)行處理文檔齊全:提供完善的官方文檔和教程,初學(xué)者也能快速上手
4.?scrapy項(xiàng)目開發(fā)流程
創(chuàng)建項(xiàng)目:scrapy startproject mySpider
生成一個(gè)爬蟲:scrapy genspider baidu baidu.com
提取數(shù)據(jù):根據(jù)網(wǎng)站結(jié)構(gòu)在spider中實(shí)現(xiàn)數(shù)據(jù)采集相關(guān)內(nèi)容
保存數(shù)據(jù):使用pipeline進(jìn)行數(shù)據(jù)后續(xù)處理和保存
5.組織架構(gòu)及工作流程
首先引擎向爬蟲請(qǐng)求第一個(gè)url,爬蟲將url提交給引擎,引擎將url地址交給調(diào)度器,調(diào)度器將url排序入隊(duì)列,并將處理好的隊(duì)列返回給引擎,引擎將有序的數(shù)據(jù)提交給下載器,下載器下載完成后將數(shù)據(jù)返回給引擎,引擎將接受的數(shù)據(jù)通過爬蟲中間件發(fā)送給爬蟲進(jìn)行文件處理,爬蟲處理后將獲得item數(shù)據(jù)和url,并發(fā)送給引擎,引擎將item數(shù)據(jù)交給數(shù)據(jù)管道進(jìn)行數(shù)據(jù)持久化處理,將url交給調(diào)度器繼續(xù)入隊(duì)列。重復(fù)操作,直到操作器中沒有可操作的request,引擎關(guān)閉
柚子快報(bào)邀請(qǐng)碼778899分享:爬蟲視頻學(xué)習(xí)之scrapy模塊
好文鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。