本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)搜索的方法和系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)的迅速發(fā)展,互聯(lián)網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎作為一個輔助人們檢索信息的工具成為用戶訪問互聯(lián)網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性,如:
(1)不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結(jié)果包含大量用戶不關(guān)心的網(wǎng)頁。
(2)通用搜索引擎的目標(biāo)是盡可能大的網(wǎng)絡(luò)覆蓋率,有限的搜索引擎服務(wù)器資源與無限的網(wǎng)絡(luò)數(shù)據(jù)資源之間的矛盾將進一步加深。
(3)萬維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖片、數(shù)據(jù)庫、音頻、視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對這些信息含量密集且具有一定結(jié)構(gòu)的數(shù)據(jù)無能為力,不能很好地發(fā)現(xiàn)和獲取。
(4)通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語義信息提出的查詢。
為了解決上述問題,定向抓取相關(guān)網(wǎng)頁資源的抓取服務(wù)器(又可以稱為聚焦爬蟲)應(yīng)運而生。聚焦爬蟲是一個自動下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標(biāo),有選擇的訪問萬維網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,獲取所需要的信息。與通用爬蟲不同,聚焦爬蟲并不追求大的覆蓋,而將目標(biāo)定為抓取與某一特定主題內(nèi)容相關(guān)的網(wǎng)頁,為面向主題的用戶查詢準備數(shù)據(jù)資源。
網(wǎng)絡(luò)爬蟲是一個自動提取網(wǎng)頁的程序,它為搜索引擎從互聯(lián)網(wǎng)上下載網(wǎng) 頁,是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊列,直到滿足系統(tǒng)的一定停止條件。聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊列。然后,它將根據(jù)一定的搜索策略從隊列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程,直到達到系統(tǒng)的某一條件時停止。另外,所有被爬蟲抓取的網(wǎng)頁將會被系統(tǒng)存貯,進行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結(jié)果還可能對以后的抓取過程給出反饋和指導(dǎo)。
然而,網(wǎng)絡(luò)爬蟲對于網(wǎng)站資源消耗比較大,如果一個網(wǎng)絡(luò)爬蟲過于頻繁地訪問一個網(wǎng)站,很有可能該網(wǎng)站會屏蔽該網(wǎng)絡(luò)爬蟲所在抓取服務(wù)器的IP地址,導(dǎo)致該網(wǎng)絡(luò)爬蟲不能再次訪問該網(wǎng)站。
技術(shù)實現(xiàn)要素:
本發(fā)明技術(shù)方案提供一種網(wǎng)絡(luò)搜索的方法和系統(tǒng),能夠降低抓取服務(wù)器被封的風(fēng)險,提高網(wǎng)絡(luò)搜索的效率。
本發(fā)明技術(shù)方案提供了一種網(wǎng)絡(luò)搜索的方法,其特征在于,包括以下步驟:
接收網(wǎng)絡(luò)搜索的指令;
不少于兩個抓取服務(wù)器從網(wǎng)絡(luò)中搜索所述指令對應(yīng)的信息;
將搜索到的信息發(fā)送給分析服務(wù)器進行處理。
進一步地,所述不少于兩個抓取服務(wù)器從網(wǎng)絡(luò)中搜索所述指令對應(yīng)的信息,進一步包括以下步驟:
所述不少于兩個抓取服務(wù)器分別連接不同的目標(biāo)服務(wù)器;
所述不少于兩個抓取服務(wù)器從各自連接的目標(biāo)服務(wù)器搜索所述指令對應(yīng)的信息。
進一步地,任務(wù)服務(wù)器接收所述指令,分配所述不少于兩個抓取服務(wù)器連 接不同的目標(biāo)服務(wù)器。
進一步地,還包括以下步驟:
當(dāng)一個抓取服務(wù)器被目標(biāo)服務(wù)器禁止抓取時,任務(wù)服務(wù)器分配其他抓取服務(wù)器連接所述目標(biāo)服務(wù)器,搜索指令對應(yīng)的信息。
進一步地,還包括以下步驟:
當(dāng)所有的抓取服務(wù)器被所述目標(biāo)服務(wù)器禁止抓取時,任務(wù)服務(wù)器發(fā)出告警信息。
進一步地,所述告警信息包括所述目標(biāo)服務(wù)器的IP地址。
本發(fā)明技術(shù)方案還提供了一種網(wǎng)絡(luò)搜索的系統(tǒng),包括不少于兩個抓取服務(wù)器和分析服務(wù)器,其中,
不少于兩個抓取服務(wù)器用于從網(wǎng)絡(luò)中搜索指令對應(yīng)的信息,并發(fā)送給分析服務(wù)器;
分析服務(wù)器用于處理搜索到的信息。
進一步地,還包括任務(wù)服務(wù)器,所述任務(wù)服務(wù)器用于接收指令,分配所述不少于兩個抓取服務(wù)器連接不同的目標(biāo)服務(wù)器。
進一步地,所述任務(wù)服務(wù)器還用于當(dāng)一個抓取服務(wù)器被目標(biāo)服務(wù)器禁止抓取時,分配其他抓取服務(wù)器連接所述目標(biāo)服務(wù)器,搜索指令對應(yīng)的信息。
進一步地,所述任務(wù)服務(wù)器進一步包括告警單元,所述告警單元用于當(dāng)所有的抓取服務(wù)器被所述目標(biāo)服務(wù)器禁止抓取時,發(fā)出告警信息。
本發(fā)明技術(shù)方案由于采用多個抓取服務(wù)器分別從目標(biāo)服務(wù)器抓取信息,統(tǒng)一有一個分析服務(wù)器進行處理,從而降低或者規(guī)避了一個抓取服務(wù)器被封的風(fēng)險,提高了網(wǎng)絡(luò)搜索的效率。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲 得。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實施例一中網(wǎng)絡(luò)搜索的流程圖;
圖2為本發(fā)明實施例二中網(wǎng)絡(luò)搜索系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實施例一中網(wǎng)絡(luò)搜索的流程圖。如圖1所示,該網(wǎng)絡(luò)搜索流程包括以下步驟:
步驟101、任務(wù)服務(wù)器接收網(wǎng)絡(luò)搜索的指令。
由于以下需要多個抓取服務(wù)器去抓取信息,為了協(xié)調(diào)各個抓取服務(wù)器,本實施例引入了任務(wù)服務(wù)器,首先由任務(wù)服務(wù)器接收網(wǎng)絡(luò)搜索指令。
步驟102、任務(wù)服務(wù)器向多個抓取服務(wù)器分配任務(wù),分別去連接不同的目標(biāo)服務(wù)器,這些目標(biāo)服務(wù)器對應(yīng)著各個網(wǎng)站。
任務(wù)服務(wù)器會根據(jù)指令,向不同的抓取服務(wù)器分配對應(yīng)的目標(biāo)服務(wù)器,然后每個抓取服務(wù)器開始訪問自己對應(yīng)的目標(biāo)服務(wù)器。
步驟103、這些抓取服務(wù)器從各自連接的目標(biāo)服務(wù)器搜索指令對應(yīng)的信息。
抓取服務(wù)器連接目標(biāo)服務(wù)器后,根據(jù)指令去搜索該目標(biāo)服務(wù)器中與指令對應(yīng)的相關(guān)信息。
步驟104、抓取服務(wù)器將搜索到的信息發(fā)送給分析服務(wù)器進行處理。
所有抓取服務(wù)器從各自的目標(biāo)服務(wù)器中獲取的、與搜索指令對應(yīng)的信息, 全部發(fā)送給一臺分析服務(wù)器,分析服務(wù)器再對所有收到的信息進行處理,最后給出搜索的結(jié)果。
步驟105、當(dāng)一個抓取服務(wù)器被目標(biāo)服務(wù)器禁止抓取時,任務(wù)服務(wù)器分配其他抓取服務(wù)器連接該目標(biāo)服務(wù)器,搜索指令對應(yīng)的信息。
如果一個抓取服務(wù)器由于目標(biāo)服務(wù)器的限定,封了抓取服務(wù)器的IP地址,從而導(dǎo)致該抓取服務(wù)器不能夠訪問目標(biāo)服務(wù)器,這時任務(wù)服務(wù)器將會分配其他抓取服務(wù)器連接該目標(biāo)服務(wù)器,搜索指令對應(yīng)的信息,從而規(guī)避了抓取服務(wù)器被目標(biāo)服務(wù)器封IP之后產(chǎn)生的無法訪問的風(fēng)險。
步驟106、當(dāng)所有的抓取服務(wù)器被目標(biāo)服務(wù)器禁止抓取時,任務(wù)服務(wù)器發(fā)出告警信息,該告警信息包括該目標(biāo)服務(wù)器的IP地址。
一旦出現(xiàn)所有的抓取服務(wù)器被一臺目標(biāo)服務(wù)器封IP的極端情況,任務(wù)服務(wù)器將發(fā)出告警信息,告知哪個IP地址的目標(biāo)服務(wù)器所有抓取服務(wù)器都無法訪問,以為后續(xù)處理提供信息。
為了實現(xiàn)上述流程,本發(fā)明的實施例還提供了一種網(wǎng)絡(luò)搜索的系統(tǒng)。圖2為本發(fā)明實施例二中網(wǎng)絡(luò)搜索系統(tǒng)的結(jié)構(gòu)示意圖,如圖2所示,該網(wǎng)絡(luò)搜索的系統(tǒng)包括任務(wù)服務(wù)器201、不少于兩個抓取服務(wù)器202和分析服務(wù)器203。
任務(wù)服務(wù)器接收指令,分配抓取服務(wù)器連接不同的目標(biāo)服務(wù)器205。由于以下需要多個抓取服務(wù)器去抓取信息,為了協(xié)調(diào)各個抓取服務(wù)器,本實施例引入了任務(wù)服務(wù)器,首先由任務(wù)服務(wù)器接收網(wǎng)絡(luò)搜索指令。
任務(wù)服務(wù)器還用于當(dāng)一個抓取服務(wù)器被目標(biāo)服務(wù)器禁止抓取時,分配其他抓取服務(wù)器連接該目標(biāo)服務(wù)器,搜索指令對應(yīng)的信息。
任務(wù)服務(wù)器中還包括告警單元204,該告警單元用于當(dāng)所有的抓取服務(wù)器被所述目標(biāo)服務(wù)器禁止抓取時,發(fā)出告警信息。
不少于兩個抓取服務(wù)器分別從網(wǎng)絡(luò)中搜索指令對應(yīng)的信息,并發(fā)送給分析服務(wù)器。
每個抓取服務(wù)器收到任務(wù)服務(wù)器的任務(wù)分配,開始訪問自己對應(yīng)的目標(biāo)服 務(wù)器,抓取服務(wù)器連接目標(biāo)服務(wù)器后,根據(jù)指令去搜索該目標(biāo)服務(wù)器中與指令對應(yīng)的相關(guān)信息。
分析服務(wù)器用于處理搜索到的信息。所有抓取服務(wù)器從各自的目標(biāo)服務(wù)器中獲取的、與搜索指令對應(yīng)的信息,全部發(fā)送給一臺分析服務(wù)器,分析服務(wù)器再對所有收到的信息進行處理,最后給出搜索的結(jié)果。
本發(fā)明技術(shù)方案由于采用多個抓取服務(wù)器分別從目標(biāo)服務(wù)器抓取信息,統(tǒng)一有一個分析服務(wù)器進行處理,從而降低或者規(guī)避了一個抓取服務(wù)器被封的風(fēng)險,提高了網(wǎng)絡(luò)搜索的效率。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使 得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。