本發(fā)明屬于網(wǎng)絡(luò)爬蟲的技術(shù)領(lǐng)域,具體地涉及一種眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。
在互聯(lián)上抓取用戶的信用數(shù)據(jù)是信用評級的重要手段,例如從支付寶網(wǎng)站抓取的交易記錄就能從側(cè)面反映出用戶的經(jīng)濟實力。但在抓取這些信息時也遇到了人為設(shè)置的技術(shù)障礙。
有些網(wǎng)站為了防止爬蟲抓取信息,做了IP限制。例如限定單個IP在每分鐘內(nèi)只能訪問100次,那么一臺爬蟲服務(wù)器在每分鐘內(nèi)只能發(fā)起100次網(wǎng)絡(luò)請求,當發(fā)起第101個請求時則會被目標服務(wù)器拒絕。
目前普遍的解決方法是增加服務(wù)器從而增加IP地址的數(shù)量。例如限定單個IP每分鐘內(nèi)只能訪問100次,那么將IP數(shù)量增加到500個,就可以達到50000次請求每分鐘。這樣做雖能解決問題,但花銷巨大,很不經(jīng)濟。
申請人在之前的專利申請中,提供了眾包的方式,讓廣大的客戶端(例如個人計算機、手機等連接互聯(lián)網(wǎng)的智能設(shè)備)幫忙抓取數(shù)據(jù),從而突破IP的限制。
但是挑戰(zhàn)也隨之而來,如何確保眾包網(wǎng)絡(luò)爬蟲抓取的數(shù)據(jù)是真實可靠的,就需要一套行之有效的機制。
技術(shù)實現(xiàn)要素:
本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供一種眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測方法,其能夠確保眾包網(wǎng)絡(luò)爬蟲抓取的數(shù)據(jù)是真實可靠的。
本發(fā)明的技術(shù)解決方案是:這種眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測方法,將服務(wù)器作為爬蟲客戶端抓取結(jié)果的檢驗中心,爬蟲客戶端把抓取的頁面內(nèi)容上傳到檢驗中心,檢驗中心將多個爬蟲客戶端上傳的內(nèi)容進行對比,如果結(jié)果相同則給各個爬蟲客戶端加信用分;如果結(jié)果不相同,則再下發(fā)一次任務(wù),重新檢驗這幾個爬蟲客戶端,以辨別優(yōu)劣,而后進行相應(yīng)的信用分加減;信用分表示爬蟲客戶端的可靠程度,優(yōu)先選擇信用分高的爬蟲客戶端來完成抓取任務(wù)。
本發(fā)明通過檢驗中心將多個爬蟲客戶端上傳的內(nèi)容進行對比,如果結(jié)果相同則給各個爬蟲客戶端加信用分;如果結(jié)果不相同,則再下發(fā)一次任務(wù),重新檢驗這幾個爬蟲客戶端,以辨別優(yōu)劣,而后進行相應(yīng)的信用分加減;信用分表示爬蟲客戶端的可靠程度,優(yōu)先選擇信用分高的爬蟲客戶端來完成抓取任務(wù),因此能夠確保眾包網(wǎng)絡(luò)爬蟲抓取的數(shù)據(jù)是真實可靠的。
還提供了一種眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測系統(tǒng),該系統(tǒng)包括:
服務(wù)器,其配置來作為爬蟲客戶端抓取結(jié)果的檢驗中心;
爬蟲客戶端,其配置來把抓取的頁面內(nèi)容上傳到檢驗中心;
其中,檢驗中心將多個爬蟲客戶端上傳的內(nèi)容進行對比,如果結(jié)果相同則給各個爬蟲客戶端加信用分;如果結(jié)果不相同,則再下發(fā)一次任務(wù),重新檢驗這幾個爬蟲客戶端,以辨別優(yōu)劣,而后進行相應(yīng)的信用分加減;信用分表示爬蟲客戶端的可靠程度,優(yōu)先選擇信用分高的爬蟲客戶端來完成抓取任務(wù)。
附圖說明
圖1是根據(jù)本發(fā)明的眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測方法的流程圖。
具體實施方式
如圖1所示,這種眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測方法,將服務(wù)器作為爬蟲客戶端抓取結(jié)果的檢驗中心,爬蟲客戶端把抓取的頁面內(nèi)容上傳到檢驗中心,檢驗中心將多個爬蟲客戶端上傳的內(nèi)容進行對比,如果結(jié)果相同則給各個爬蟲客戶端加信用分;如果結(jié)果不相同,則再下發(fā)一次任務(wù),重新檢驗這幾個爬蟲客戶端,以辨別優(yōu)劣,而后進行相應(yīng)的信用分加減;信用分表示爬蟲客戶端的可靠程度,優(yōu)先選擇信用分高的爬蟲客戶端來完成抓取任務(wù)。
本發(fā)明通過檢驗中心將多個爬蟲客戶端上傳的內(nèi)容進行對比,如果結(jié)果相同則給各個爬蟲客戶端加信用分;如果結(jié)果不相同,則再下發(fā)一次任務(wù),重新檢驗這幾個爬蟲客戶端,以辨別優(yōu)劣,而后進行相應(yīng)的信用分加減;信用分表示爬蟲客戶端的可靠程度,優(yōu)先選擇信用分高的爬蟲客戶端來完成抓取任務(wù),因此能夠確保眾包網(wǎng)絡(luò)爬蟲抓取的數(shù)據(jù)是真實可靠的。
更進一步地,該方法包括以下步驟:
(1)檢驗中心維護一個爬蟲列表,爬蟲列表中的每一項包含爬蟲ID和爬蟲的信用分;
(2)檢驗中心將一個抓取任務(wù)派發(fā)給不同IP地址的多個爬蟲,同時打開一個時間窗口,等待爬蟲上傳數(shù)據(jù);
(3)在時間窗口內(nèi)接收爬蟲上傳的數(shù)據(jù),并在時間窗口關(guān)閉時進行評價。
更進一步地,若時間窗口關(guān)閉時爬蟲未能上報數(shù)據(jù),則信用分-5;在時間窗口關(guān)閉前上報數(shù)據(jù)的爬蟲:若上報的內(nèi)容都一致,則完成此次任務(wù)的爬蟲信用分+1;若上報的內(nèi)容發(fā)生不一致,則將此次抓取任務(wù)按失敗處理,并把執(zhí)行這次任務(wù)的爬蟲列入待觀察列表;服務(wù)器重新下發(fā)一次任務(wù),同時檢驗中心自己也去網(wǎng)站上抓取,以自己的結(jié)果比照爬蟲再次提交上來的結(jié)果;下一次時間窗口關(guān)閉時,抓取的結(jié)果和檢驗中心一致,則信用分+1,不一致則判定為誤報,信用分-50。
本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括上述實施例方法的各步驟,而所述的存儲介質(zhì)可以是:ROM/RAM、磁碟、光盤、存儲卡等。因此,與本發(fā)明的方法相對應(yīng)的,本發(fā)明還同時包括一種眾包網(wǎng)絡(luò)爬蟲抓取數(shù)據(jù)的檢測系統(tǒng),該系統(tǒng)通常以與方法各步驟相對應(yīng)的功能模塊的形式表示。使用該方法的系統(tǒng),其包括:
服務(wù)器,其配置來作為爬蟲客戶端抓取結(jié)果的檢驗中心;
爬蟲客戶端,其配置來把抓取的頁面內(nèi)容上傳到檢驗中心;
其中,檢驗中心將多個爬蟲客戶端上傳的內(nèi)容進行對比,如果結(jié)果相同則給各個爬蟲客戶端加信用分;如果結(jié)果不相同,則再下發(fā)一次任務(wù),
重新檢驗這幾個爬蟲客戶端,以辨別優(yōu)劣,而后進行相應(yīng)的信用分加減;信用分表示爬蟲客戶端的可靠程度,優(yōu)先選擇信用分高的爬蟲客戶端來完成抓取任務(wù)。
以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護范圍。