本發(fā)明涉及信息抓取技術領域,特別是涉及信息抓取方法、裝置、中央控制節(jié)點設備及分布式系統(tǒng)。
背景技術:
以爬蟲為首的信息抓取技術可以從互聯(lián)網(wǎng)中抓取大量的有用信息,為各種決策、分析提供數(shù)據(jù)支持。
爬蟲在抓取信息過程中會將爬取的網(wǎng)頁信息記錄到本地的爬取歷史中,當爬蟲由于某些不可控因素而消亡時,爬蟲首先重新啟動,然后讀取本地的爬取歷史,將待抓取列表中的已抓取過的網(wǎng)頁過濾掉,從而抓取新的網(wǎng)頁的信息。
但是,當本地的爬取歷史消失時,爬蟲將無法讀取消失的爬取歷史中的數(shù)據(jù),這就導致爬蟲需要重新對待抓取列表中的所有網(wǎng)頁進行抓取。由于待抓取列表中的很多網(wǎng)頁爬蟲已經(jīng)抓取過,因此必然導致網(wǎng)頁的重復抓取,降低了爬蟲的網(wǎng)頁抓取效率,浪費了大量的頁面瀏覽量。
技術實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種信息抓取方法、裝置、中央控制節(jié)點設備及分布式系統(tǒng),以提高了爬蟲的網(wǎng)頁抓取效率,節(jié)省了大量的頁面瀏覽量。
為達到上述目的,本發(fā)明實施例公開了一種信息抓取方法,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,所述方法包括:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識 返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
可選的,所述客戶端子節(jié)點設備中保存有待抓取網(wǎng)頁列表,所述待抓取網(wǎng)頁列表中保存有所述客戶端子節(jié)點設備的待抓取網(wǎng)頁的網(wǎng)頁標識,所述獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲,包括:獲得所述客戶端子節(jié)點設備在按照預設的抓取順序?qū)Υト【W(wǎng)頁列表中的網(wǎng)頁進行抓取時上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
所述在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取,包括:
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)按照預設的抓取順序從所述當前抓取的網(wǎng)頁開始對待抓取網(wǎng)頁列表中的網(wǎng)頁對進行抓取。
可選的,還包括:對所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表進行備份,在所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表消失時,將與所述客戶端子節(jié)點設備的標識對應的待抓取網(wǎng)頁列表發(fā)送到所述客戶端子節(jié)點設備中。
可選的,還包括:獲得所述客戶端子節(jié)點設備當前抓取的網(wǎng)頁中的統(tǒng)一資源定位符URL,將獲得的URL作為待抓取網(wǎng)頁的網(wǎng)頁標識放入所述待抓取網(wǎng)頁列表中。
可選的,還包括:
獲得并存儲所述客戶端子節(jié)點設備抓取的網(wǎng)頁數(shù)據(jù)。
一種信息抓取裝置,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,所述裝置包括:標識獲得單元、狀態(tài)獲得單元和標識返回單元,
所述標識獲得單元,用于獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
所述狀態(tài)獲得單元,用于獲得所述客戶端子節(jié)點設備的工作狀態(tài);
所述標識返回單元,用于在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
可選的,所述客戶端子節(jié)點設備中保存有待抓取網(wǎng)頁列表,所述待抓取網(wǎng)頁列表中保存有所述客戶端子節(jié)點設備的待抓取網(wǎng)頁的網(wǎng)頁標識,所述標識獲得單元,具體用于:獲得所述客戶端子節(jié)點設備在按照預設的抓取順序?qū)Υト【W(wǎng)頁列表中的網(wǎng)頁進行抓取時上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
所述標識返回單元,具體用于:在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)按照預設的抓取順序從所述當前抓取的網(wǎng)頁開始對待抓取網(wǎng)頁列表中的網(wǎng)頁對進行抓取。
可選的,還包括:備份單元,用于對所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表進行備份,在所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表消失時,將與所述客戶端子節(jié)點設備的標識對應的待抓取網(wǎng)頁列表發(fā)送到所述客戶端子節(jié)點設備中。
可選的,還包括:列表添加單元,用于獲得所述客戶端子節(jié)點設備當前抓取的網(wǎng)頁中的統(tǒng)一資源定位符URL,將獲得的URL作為待抓取網(wǎng)頁的網(wǎng)頁標識放入所述待抓取網(wǎng)頁列表中。
可選的,還包括:數(shù)據(jù)存儲單元,用于獲得并存儲所述客戶端子節(jié)點設備抓取的網(wǎng)頁數(shù)據(jù)。
一種中央控制節(jié)點設備,包括任一種上述的信息抓取裝置。
一種分布式系統(tǒng),包括上述的中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接。
相應地,本申請還提供了一種存儲介質(zhì),其中,該存儲介質(zhì)用于存儲應用 程序,所述應用程序用于在運行時執(zhí)行本申請所述的一種信息抓取方法。其中,本申請所述的一種信息抓取方法,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,所述方法包括:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
相應地,本申請還提供了一種應用程序,其中,該應用程序用于在運行時執(zhí)行本申請所述的一種信息抓取方法。其中,本申請所述的一種信息抓取方法,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,所述方法包括:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
相應地,本申請實施例還提供了一種中央控制節(jié)點設備,所述中央控制節(jié)點設備包括:
處理器、存儲器、通信接口和總線;
所述處理器、所述存儲器和所述通信接口通過所述總線連接并完成相互間的通信;
所述存儲器存儲可執(zhí)行程序代碼;
所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運行與所述可執(zhí)行程序代碼對應的程序,以用于:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
本發(fā)明實施例提供的一種信息抓取方法、裝置、中央控制節(jié)點設備及分布式系統(tǒng),中央控制節(jié)點設備可以獲得客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識并存儲,在客戶端子節(jié)點設備的工作狀態(tài)為未正常抓取狀態(tài)時,將當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給客戶端子節(jié)點設備,以使客戶端子節(jié)點設備根據(jù)網(wǎng)頁標識繼續(xù)對當前抓取的網(wǎng)頁進行抓取。可見,由于爬蟲所在的客戶端子節(jié)點設備當前抓取的網(wǎng)頁的網(wǎng)頁標識被保存到了中央控制節(jié)點設備中,因此當爬蟲所在的客戶端子節(jié)點設備本地的爬取歷史消失時,本發(fā)明仍能控制爬蟲所在的客戶端子節(jié)點設備繼續(xù)對當前抓取的網(wǎng)頁進行抓取。本發(fā)明不會導致網(wǎng)頁的重復抓取,提高了爬蟲的網(wǎng)頁抓取效率,節(jié)省了大量的頁面瀏覽量。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種信息抓取方法的流程圖;
圖2為本發(fā)明實施例提供的另一種信息抓取方法的流程圖;
圖3為本發(fā)明實施例提供的另一種信息抓取方法的流程圖;
圖4為本發(fā)明實施例提供的一種信息抓取裝置的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供的一種信息抓取方法,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,該方法可以包括:
S100、獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
其中,客戶端子節(jié)點設備可以為有多個,也可以僅有一個。客戶端子節(jié)點設備中可以具有一個或多個爬蟲,以對網(wǎng)頁進行抓取。中央控制節(jié)點設備可以和客戶端子節(jié)點設備為同一設備或為不同設備,本發(fā)明在此不作限定。其中,中央控制節(jié)點設備與所述客戶端子節(jié)點設備可以通過套接字socket通道進行通信。
其中,網(wǎng)頁的網(wǎng)頁標識可以為網(wǎng)頁的統(tǒng)一資源定位符URL,也可以為網(wǎng)頁的標題、編號等。
其中,在客戶端子節(jié)點設備每對一個新網(wǎng)頁進行抓取時就可以上傳一次該新網(wǎng)頁的網(wǎng)頁標識至中央控制節(jié)點設備中,這樣,中央控制節(jié)點設備中保存的網(wǎng)頁標識實時保持客戶端子節(jié)點設備當前抓取的網(wǎng)頁的網(wǎng)頁標識。
具體的,中央控制節(jié)點設備在保存網(wǎng)頁標識時,可以通過redis實現(xiàn)網(wǎng)頁標識的持久化存儲。
當然,在本發(fā)明其他實施例中,客戶端子節(jié)點設備也可以每抓取一定數(shù)量的網(wǎng)頁后就上傳一次該新網(wǎng)頁的網(wǎng)頁標識至中央控制節(jié)點設備中,本發(fā)明不作限定。
S200、獲得所述客戶端子節(jié)點設備的工作狀態(tài);
其中,客戶端子節(jié)點設備的工作狀態(tài)可以包括:正常抓取狀態(tài)和未正常抓 取狀態(tài)。
S300、在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
其中,未正常抓取狀態(tài)可以包括:抓取失敗狀態(tài)、抓取中斷狀態(tài)和無響應狀態(tài)。
其中,所述客戶端子節(jié)點設備中可以保存有待抓取網(wǎng)頁列表,所述待抓取網(wǎng)頁列表中保存有所述客戶端子節(jié)點設備的待抓取網(wǎng)頁的網(wǎng)頁標識,步驟S100可以具體包括:獲得所述客戶端子節(jié)點設備在按照預設的抓取順序?qū)Υト【W(wǎng)頁列表中的網(wǎng)頁進行抓取時上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
步驟S300可以具體包括:
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)按照預設的抓取順序從所述當前抓取的網(wǎng)頁開始對待抓取網(wǎng)頁列表中的網(wǎng)頁對進行抓取。
本發(fā)明實施例提供的一種信息抓取方法,中央控制節(jié)點設備可以獲得客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識并存儲,在客戶端子節(jié)點設備的工作狀態(tài)為未正常抓取狀態(tài)時,將當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給客戶端子節(jié)點設備,以使客戶端子節(jié)點設備根據(jù)網(wǎng)頁標識繼續(xù)對當前抓取的網(wǎng)頁進行抓取??梢姡捎谂老x所在的客戶端子節(jié)點設備當前抓取的網(wǎng)頁的網(wǎng)頁標識被保存到了中央控制節(jié)點設備中,因此當爬蟲所在的客戶端子節(jié)點設備本地的爬取歷史消失時,本發(fā)明仍能控制爬蟲所在的客戶端子節(jié)點設備繼續(xù)對當前抓取的網(wǎng)頁進行抓取。本發(fā)明不會導致網(wǎng)頁的重復抓取,提高了爬蟲的網(wǎng)頁抓取效率,節(jié)省了大量的頁面瀏覽量。
在圖1所示實施例基礎上,如圖2所示,本發(fā)明實施例提供的另一種信息抓取方法,還可以包括:
S400、對所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表進行備份,在所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表消失時,將與所述客戶端子節(jié)點設備的標識對應的待抓取網(wǎng)頁列表發(fā)送到所述客戶端子節(jié)點設備中。
S400與步驟S100至S300的執(zhí)行順序可以任意,本發(fā)明不作限定。
由于本發(fā)明的中央控制節(jié)點設備還會客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表進行備份,因此當客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表消失時,本發(fā)明可以將與客戶端子節(jié)點設備的標識對應的待抓取網(wǎng)頁列表發(fā)送到客戶端子節(jié)點設備中,使得爬蟲可以繼續(xù)按照待抓取網(wǎng)頁列表進行網(wǎng)頁抓取,進一步提高了爬蟲的網(wǎng)頁爬取效率。
在圖2所示實施例基礎上,如圖3所示,本發(fā)明實施例提供的另一種信息抓取方法,還可以包括:
S500、獲得所述客戶端子節(jié)點設備當前抓取的網(wǎng)頁中的統(tǒng)一資源定位符URL,將獲得的URL作為待抓取網(wǎng)頁的網(wǎng)頁標識放入所述待抓取網(wǎng)頁列表中。
通過步驟S500,本發(fā)明可以跟隨抓取過程逐步增加待抓取網(wǎng)頁列表中的待抓取網(wǎng)頁的網(wǎng)頁標識,從而使得網(wǎng)頁抓取可以持續(xù)進行并保持必要的深度。
在以上各實施例基礎上,本發(fā)明實施例提供的另一種信息抓取方法,還可以包括:
獲得并存儲所述客戶端子節(jié)點設備抓取的網(wǎng)頁數(shù)據(jù)。
通過將抓取的網(wǎng)頁數(shù)據(jù)保存在中央控制節(jié)點設備中,可以防止由于客戶端子節(jié)點設備死機等原因?qū)е缕渥ト〉木W(wǎng)頁數(shù)據(jù)消失,保證了數(shù)據(jù)安全。
在以上各實施例中,中央控制節(jié)點設備還可以監(jiān)控各客戶端子節(jié)點設備的網(wǎng)頁抓取進程以及數(shù)據(jù)流走向。具體的,中央控制節(jié)點設備可以通過部署Web系統(tǒng)來監(jiān)控各客戶端子節(jié)點設備。
與上述方法實施例相對應,本發(fā)明還提供了一種信息抓取裝置。
如圖4所示,本發(fā)明實施例提供的一種信息抓取裝置,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,該裝置可以包括:標識獲得單元100、狀態(tài)獲得單元200和標識返回單元300,
標識獲得單元100,用于獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
其中,客戶端子節(jié)點設備可以為有多個,也可以僅有一個。客戶端子節(jié)點設備中可以具有一個或多個爬蟲,以對網(wǎng)頁進行抓取。中央控制節(jié)點設備可以和客戶端子節(jié)點設備為同一設備或為不同設備,本發(fā)明在此不作限定。其中,中央控制節(jié)點設備與所述客戶端子節(jié)點設備可以通過套接字socket通道進行通信。
其中,網(wǎng)頁的網(wǎng)頁標識可以為網(wǎng)頁的統(tǒng)一資源定位符URL,也可以為網(wǎng)頁的標題、編號等。
其中,在客戶端子節(jié)點設備每對一個新網(wǎng)頁進行抓取時就可以上傳一次該新網(wǎng)頁的網(wǎng)頁標識至中央控制節(jié)點設備中,這樣,中央控制節(jié)點設備中保存的網(wǎng)頁標識實時保持客戶端子節(jié)點設備當前抓取的網(wǎng)頁的網(wǎng)頁標識。
具體的,中央控制節(jié)點設備在保存網(wǎng)頁標識時,可以通過redis實現(xiàn)網(wǎng)頁標識的持久化存儲。
當然,在本發(fā)明其他實施例中,客戶端子節(jié)點設備也可以每抓取一定數(shù)量的網(wǎng)頁后就上傳一次該新網(wǎng)頁的網(wǎng)頁標識至中央控制節(jié)點設備中,本發(fā)明不作限定。
狀態(tài)獲得單元200,用于獲得所述客戶端子節(jié)點設備的工作狀態(tài);
其中,客戶端子節(jié)點設備的工作狀態(tài)可以包括:正常抓取狀態(tài)和未正常抓取狀態(tài)。
標識返回單元300,用于在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
其中,未正常抓取狀態(tài)可以包括:抓取失敗狀態(tài)、抓取中斷狀態(tài)和無響應狀態(tài)。
其中,所述客戶端子節(jié)點設備中保存有待抓取網(wǎng)頁列表,所述待抓取網(wǎng)頁列表中保存有所述客戶端子節(jié)點設備的待抓取網(wǎng)頁的網(wǎng)頁標識,標識獲得單元100,可以具體用于:獲得所述客戶端子節(jié)點設備在按照預設的抓取順序?qū)Υト【W(wǎng)頁列表中的網(wǎng)頁進行抓取時上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
標識返回單元300,可以具體用于:在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)按照預設的抓取順序從所述當前抓取的網(wǎng)頁開始對待抓取網(wǎng)頁列表中的網(wǎng)頁對進行抓取。
本發(fā)明實施例提供的一種信息抓取裝置,中央控制節(jié)點設備可以獲得客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識并存儲,在客戶端子節(jié)點設備的工作狀態(tài)為未正常抓取狀態(tài)時,將當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給客戶端子節(jié)點設備,以使客戶端子節(jié)點設備根據(jù)網(wǎng)頁標識繼續(xù)對當前抓取的網(wǎng)頁進行抓取。可見,由于爬蟲所在的客戶端子節(jié)點設備當前抓取的網(wǎng)頁的網(wǎng)頁標識被保存到了中央控制節(jié)點設備中,因此當爬蟲所在的客戶端子節(jié)點設備本地的爬取歷史消失時,本發(fā)明仍能控制爬蟲所在的客戶端子節(jié)點設備繼續(xù)對當前抓取的網(wǎng)頁進行抓取。本發(fā)明不會導致網(wǎng)頁的重復抓取,提高了爬蟲的網(wǎng)頁抓取效率,節(jié)省了大量的頁面瀏覽量。
在圖4所示實施例基礎上,本發(fā)明實施例提供的另一種信息抓取裝置,還可以包括:
備份單元,用于對所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表進行備份,在所述客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表消失時,將與所述客戶端子節(jié)點設備的標識對應的待抓取網(wǎng)頁列表發(fā)送到所述客戶端子節(jié)點設備中。
由于本發(fā)明的中央控制節(jié)點設備還會客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表進行備份,因此當客戶端子節(jié)點設備中保存的待抓取網(wǎng)頁列表消失時,本發(fā)明可以將與客戶端子節(jié)點設備的標識對應的待抓取網(wǎng)頁列表發(fā)送到客戶端子節(jié)點設備中,使得爬蟲可以繼續(xù)按照待抓取網(wǎng)頁列表進行網(wǎng)頁抓取,進 一步提高了爬蟲的網(wǎng)頁爬取效率。
進一步,還可以包括:列表添加單元,用于獲得所述客戶端子節(jié)點設備當前抓取的網(wǎng)頁中的統(tǒng)一資源定位符URL,將獲得的URL作為待抓取網(wǎng)頁的網(wǎng)頁標識放入所述待抓取網(wǎng)頁列表中。
本發(fā)明可以跟隨抓取過程逐步增加待抓取網(wǎng)頁列表中的待抓取網(wǎng)頁的網(wǎng)頁標識,從而使得網(wǎng)頁抓取可以持續(xù)進行并保持必要的深度。
在本發(fā)明其他實施例中,本發(fā)明實施例提供的另一種信息抓取裝置,還可以包括:數(shù)據(jù)存儲單元,用于獲得并存儲所述客戶端子節(jié)點設備抓取的網(wǎng)頁數(shù)據(jù)。
通過將抓取的網(wǎng)頁數(shù)據(jù)保存在中央控制節(jié)點設備中,可以防止由于客戶端子節(jié)點設備死機等原因?qū)е缕渥ト〉木W(wǎng)頁數(shù)據(jù)消失,保證了數(shù)據(jù)安全。
在以上各實施例中,中央控制節(jié)點設備還可以監(jiān)控各客戶端子節(jié)點設備的網(wǎng)頁抓取進程以及數(shù)據(jù)流走向。具體的,中央控制節(jié)點設備可以通過部署Web系統(tǒng)來監(jiān)控各客戶端子節(jié)點設備。
本發(fā)明實施例還提供了一種中央控制節(jié)點設備,包括上述的任一種信息抓取裝置。
本發(fā)明實施例還提供了一種分布式系統(tǒng),包括上述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接。
相應地,本申請實施例還提供了一種存儲介質(zhì),其中,該存儲介質(zhì)用于存儲應用程序,所述應用程序用于在運行時執(zhí)行本申請所述的一種信息抓取方法。其中,本申請所述的一種信息抓取方法,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,所述方法包括:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
相應地,本申請實施例還提供了一種應用程序,其中,該應用程序用于在運行時執(zhí)行本申請所述的一種信息抓取方法。其中,本申請所述的一種信息抓取方法,應用于分布式系統(tǒng)中的中央控制節(jié)點設備中,所述分布式系統(tǒng)包括所述中央控制節(jié)點設備和進行網(wǎng)頁抓取的客戶端子節(jié)點設備,所述中央控制節(jié)點設備與所述客戶端子節(jié)點設備通信連接,所述方法包括:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
相應地,本申請實施例還提供了一種中央控制節(jié)點設備,所述中央控制節(jié)點設備包括:
處理器、存儲器、通信接口和總線;
所述處理器、所述存儲器和所述通信接口通過所述總線連接并完成相互間的通信;
所述存儲器存儲可執(zhí)行程序代碼;
所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運行與所述可執(zhí)行程序代碼對應的程序,以用于:
獲得所述客戶端子節(jié)點設備上傳的當前抓取的網(wǎng)頁的網(wǎng)頁標識,將獲得的網(wǎng)頁標識進行存儲;
獲得所述客戶端子節(jié)點設備的工作狀態(tài);
在所述工作狀態(tài)為未正常抓取狀態(tài)時,將所述當前抓取的網(wǎng)頁的網(wǎng)頁標識返回給所述客戶端子節(jié)點設備,以使所述客戶端子節(jié)點設備根據(jù)所述網(wǎng)頁標識 繼續(xù)對所述當前抓取的網(wǎng)頁進行抓取。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。