溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

分布式爬蟲有什么設(shè)計要點

發(fā)布時間:2021-09-16 15:46:39 來源:億速云 閱讀:143 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)分布式爬蟲有什么設(shè)計要點的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

分布式爬蟲解決方案。

為了實現(xiàn)批量抓取某一大站的數(shù)據(jù),最好是通過維護4個隊列。

1、url任務(wù)列-存儲待捕獲的url數(shù)據(jù)。

2、原始url隊列-存儲在捕獲的網(wǎng)頁中,但尚未處理。

處理主要是檢查是否需要捕獲,是否重復(fù)捕獲。

3、原始數(shù)據(jù)隊列-存儲的數(shù)據(jù)沒有任何處理。

4、二手?jǐn)?shù)據(jù)列-存儲進入數(shù)據(jù)處理過程的待存儲數(shù)據(jù)。

上述隊列分別有4個監(jiān)控執(zhí)行任務(wù)的過程,即:

  • 爬蟲抓取過程-監(jiān)控url任務(wù)隊列,捕獲網(wǎng)頁數(shù)據(jù),并將捕獲的原始數(shù)據(jù)丟失到原始數(shù)據(jù)隊列。

  • url處理過程:監(jiān)控原始url隊列,過濾異常url和重復(fù)捕獲的url。

  • 數(shù)據(jù)提取過程:監(jiān)控原始數(shù)據(jù)隊列,提取原始數(shù)據(jù)隊列的關(guān)鍵數(shù)據(jù)包括新的網(wǎng)址和目標(biāo)數(shù)據(jù)。

  • 數(shù)據(jù)存儲過程:將二手?jǐn)?shù)據(jù)整理后存儲在mongodb中。

爬蟲的設(shè)計要點。

如果你想批量抓取一個網(wǎng)站,你需要建立一個自己的爬蟲框架。建立之前,你應(yīng)該考慮幾個問題:避免被封IP、圖像驗證碼識別、數(shù)據(jù)處理等。

相對簡單的圖片驗證碼可以通過pytesseract庫自行編寫識別程序,這只能識別簡單的圖片數(shù)據(jù)?;瑒邮髽?biāo)、滑塊、動態(tài)圖像驗證碼等更復(fù)雜的地方只能考慮購買編碼平臺進行識別。

對于數(shù)據(jù)處理,如果你發(fā)現(xiàn)你得到的數(shù)據(jù)被打亂了,解決辦法就是識別它的打亂規(guī)律,或者通過源js代碼獲得通過pythonexecjs庫或其他執(zhí)行js庫的數(shù)據(jù)提取。

感謝各位的閱讀!關(guān)于“分布式爬蟲有什么設(shè)計要點”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI