基于Scrapy框架的分布式網(wǎng)絡(luò)爬蟲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
【文章頁數(shù)】:4 頁
【部分圖文】:
圖1解析器中間件類圖
調(diào)度器中間件,介于Scrapy引擎和調(diào)度器之間的中間件,從Scrapy引擎發(fā)送到調(diào)度的請求和響應(yīng);調(diào)度器,用來接受引擎發(fā)過來的請求,壓入隊(duì)列中,并在引擎再次請求的時候返回,本文通過使用Scrapy-Redis存儲調(diào)度redis的訪問請求,實(shí)現(xiàn)分布式任務(wù)調(diào)度和爬取功能,網(wǎng)頁調(diào)度功能....
圖2下載器中間件類圖
業(yè)務(wù)層是本系統(tǒng)的關(guān)鍵所在,本系統(tǒng)的所有業(yè)務(wù)邏輯功能和相關(guān)算法皆在本層實(shí)現(xiàn),具體設(shè)計(jì)如圖2所示。使用業(yè)務(wù)層的優(yōu)勢在于可以降低表示層和數(shù)據(jù)層的功能復(fù)雜度,使表示層專注于請求響應(yīng),使數(shù)據(jù)層專注于數(shù)據(jù)操作,這樣不僅使系統(tǒng)結(jié)構(gòu)清晰,而且可以最大程度上實(shí)現(xiàn)系統(tǒng)松耦合,便于業(yè)務(wù)功能的擴(kuò)展和屏蔽....
圖3網(wǎng)頁判重流程圖
本文采用基于Hash算法的MD5壓縮映射存儲,實(shí)現(xiàn)URL去重池的功能。爬取過程中,MD5算法能夠?qū)⑷我馕粩?shù)的字符串壓縮為128位整數(shù),并映射為物理地址,且MD5進(jìn)行Hash映射碰撞的概率非常小,幾乎可以忽略不計(jì),可以實(shí)現(xiàn)URL去重池的唯一性。在爬蟲每一次爬取過程中,將在MD5存儲....
圖4網(wǎng)頁下載流程圖
網(wǎng)頁下載模塊在網(wǎng)頁判重模塊之后,本系統(tǒng)使用Scrapy框架中的下載器中間件(處理Scrapy引擎與下載器之間的請求及響應(yīng)),繼承DownloaderMiddleware類,并重寫process_request(request,spider)方法。本系統(tǒng)先從請求隊(duì)列RequestQ....
本文編號:3983868
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3983868.html