国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法和裝置與流程

      文檔序號(hào):12121097閱讀:254來(lái)源:國(guó)知局
      網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法和裝置與流程

      本申請(qǐng)涉及互聯(lián)網(wǎng)爬蟲(chóng)領(lǐng)域,具體而言,涉及一種網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法和裝置。



      背景技術(shù):

      網(wǎng)絡(luò)爬蟲(chóng)集群在爬取各種網(wǎng)站時(shí),需要過(guò)濾重復(fù)的鏈接,以防止重復(fù)頁(yè)面被反復(fù)爬取。在網(wǎng)絡(luò)爬蟲(chóng)爬取頁(yè)面的過(guò)程中,已經(jīng)爬取過(guò)的鏈接存儲(chǔ)在用來(lái)過(guò)濾重復(fù)網(wǎng)頁(yè)的檢查器中,為了網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)爬蟲(chóng)在任意時(shí)刻都擁有盡量相同的檢查器,避免重復(fù)頁(yè)面被再次爬取,因此,需要同步更新檢查器。

      現(xiàn)有方案在集群中部署統(tǒng)一的一個(gè)檢查器,所有網(wǎng)絡(luò)爬蟲(chóng)都會(huì)訪問(wèn)同一個(gè)檢查器來(lái)排除重復(fù)頁(yè)面,但是這種方案使得集群中的所有網(wǎng)絡(luò)爬蟲(chóng)都要競(jìng)爭(zhēng)同一個(gè)檢查器資源,每個(gè)網(wǎng)絡(luò)爬蟲(chóng)爬取頁(yè)面時(shí),都需要檢查器檢查爬取的鏈接是否重復(fù),導(dǎo)致網(wǎng)絡(luò)爬蟲(chóng)的爬取效率比較低。

      針對(duì)上述問(wèn)題,目前尚未提出有效的解決方案。



      技術(shù)實(shí)現(xiàn)要素:

      本申請(qǐng)實(shí)施例提供了一種網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法和裝置,以至少解決相關(guān)技術(shù)中網(wǎng)絡(luò)爬蟲(chóng)的爬取效率比較低的技術(shù)問(wèn)題。

      根據(jù)本申請(qǐng)實(shí)施例的一個(gè)方面,提供了一種網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法,所述網(wǎng)絡(luò)爬蟲(chóng)集群中每個(gè)網(wǎng)絡(luò)爬蟲(chóng)配備一個(gè)本地檢查器,目標(biāo)本地檢查器根據(jù)其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谠撃繕?biāo)本地檢查器中是否存在目標(biāo)爬取鏈接,其中,所述消息中攜帶有所述目標(biāo)爬取鏈接;在查詢出不存在所述目標(biāo)爬取鏈接時(shí),保存所述目標(biāo)爬取鏈接,并向其他本地檢查器發(fā)送攜帶有所述目標(biāo)爬取鏈接的廣播,以使所述其他本地檢查器依據(jù)所述廣播更新爬取鏈接。。

      根據(jù)本申請(qǐng)實(shí)施例的另一方面,還提供了一種網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新裝置,所述網(wǎng)絡(luò)爬蟲(chóng)集群中每個(gè)網(wǎng)絡(luò)爬蟲(chóng)配備一個(gè)本地檢查器,所述裝置包括:查詢單元,用于根據(jù)目標(biāo)本地檢查器對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谒瞿繕?biāo)本地檢查器中是否 存在目標(biāo)爬取鏈接,其中,所述消息中攜帶有所述目標(biāo)爬取鏈接;廣播單元,用于在查詢出不存在所述目標(biāo)爬取鏈接時(shí),保存所述目標(biāo)爬取鏈接,并向其他本地檢查器發(fā)送攜帶有所述目標(biāo)爬取鏈接的廣播,以使所述其他本地檢查器依據(jù)所述廣播更新爬取鏈接。

      在本申請(qǐng)實(shí)施例中,采用目標(biāo)本地檢查器根據(jù)其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谠撃繕?biāo)本地檢查器中是否存在目標(biāo)爬取鏈接,其中,消息中攜帶有目標(biāo)爬取鏈接;在查詢出不存在目標(biāo)爬取鏈接時(shí),保存目標(biāo)爬取鏈接,并向其他本地檢查器發(fā)送攜帶有目標(biāo)爬取鏈接的廣播,以使其他本地檢查器依據(jù)廣播更新爬取鏈接的方式,每個(gè)網(wǎng)絡(luò)爬蟲(chóng)通過(guò)一個(gè)相應(yīng)的本地檢查器過(guò)濾重復(fù)目標(biāo)爬取鏈接,提高了爬取效率。同時(shí),每個(gè)本地檢查器通過(guò)廣播接收同步更新已經(jīng)爬取過(guò)的鏈接的信息,也可以通過(guò)廣播發(fā)送同步更新已經(jīng)爬取過(guò)的鏈接的信息,使得網(wǎng)絡(luò)爬蟲(chóng)集群中的本地檢查器擁有一致的信息,也就保證了不同爬蟲(chóng)之間也不會(huì)重復(fù)爬取同一個(gè)鏈接,在多個(gè)爬蟲(chóng)同時(shí)執(zhí)行爬取任務(wù)時(shí),即能保證比較高的爬取效率,又能保證比較高的準(zhǔn)確性,進(jìn)而解決了相關(guān)技術(shù)中網(wǎng)絡(luò)爬蟲(chóng)的爬取效率比較低的技術(shù)問(wèn)題。

      附圖說(shuō)明

      此處所說(shuō)明的附圖用來(lái)提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說(shuō)明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:

      圖1是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法的流程圖;

      圖2是根據(jù)本申請(qǐng)實(shí)施例的一種可選的網(wǎng)絡(luò)爬蟲(chóng)集群結(jié)構(gòu)的示意圖;

      圖3是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新裝置的示意圖。

      具體實(shí)施方式

      為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分的實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。

      需要說(shuō)明的是,本申請(qǐng)的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請(qǐng)的實(shí)施例能夠以除了在這里 圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。

      根據(jù)本申請(qǐng)實(shí)施例,提供了一種網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法的方法實(shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。

      圖1是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法的流程圖,該網(wǎng)絡(luò)爬蟲(chóng)集群中每個(gè)網(wǎng)絡(luò)爬蟲(chóng)都配備一個(gè)本地檢查器,如圖1所示,該方法包括如下步驟:

      步驟S102,目標(biāo)本地檢查器根據(jù)其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谠撃繕?biāo)本地檢查器中是否存在目標(biāo)爬取鏈接,其中,消息中攜帶有目標(biāo)爬取鏈接。

      步驟S104,在查詢出不存在目標(biāo)爬取鏈接時(shí),目標(biāo)本地檢查器保存目標(biāo)爬取鏈接,并向其他本地檢查器發(fā)送攜帶有目標(biāo)爬取鏈接的廣播,以使其他本地檢查器依據(jù)廣播更新爬取鏈接。

      網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)網(wǎng)絡(luò)爬蟲(chóng)都配備一個(gè)本地檢查器,目標(biāo)本地檢查器可以是網(wǎng)絡(luò)爬蟲(chóng)集群中的任意一個(gè)網(wǎng)絡(luò)爬蟲(chóng)所對(duì)應(yīng)的本地檢查器。當(dāng)采用目標(biāo)本地檢查器查詢出某個(gè)鏈接沒(méi)有被爬取過(guò)時(shí),相應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)可以對(duì)該鏈接進(jìn)行爬取,目標(biāo)本地檢查器通過(guò)廣播來(lái)發(fā)送該鏈接已經(jīng)被爬取的消息,收到該廣播的其他本地檢查器存儲(chǔ)該鏈接,以便于存儲(chǔ)有該鏈接的檢查器所對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)在進(jìn)行爬取時(shí),過(guò)濾掉該鏈接避免重復(fù)爬取同一個(gè)鏈接。由于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)網(wǎng)絡(luò)爬蟲(chóng)的本地檢查器都能收到廣播,因此,網(wǎng)絡(luò)爬蟲(chóng)集群中的網(wǎng)絡(luò)爬蟲(chóng)的本地檢查器能夠同步更新本地存儲(chǔ)的信息。在該實(shí)施例中,廣播的方式實(shí)現(xiàn)了多個(gè)本地檢查器同步更新檢查器的信息,無(wú)論網(wǎng)絡(luò)爬蟲(chóng)集群利用哪個(gè)本地檢查器過(guò)濾重復(fù)鏈接,都能避免重復(fù)鏈接被準(zhǔn)確過(guò)濾掉。由于每個(gè)網(wǎng)絡(luò)爬蟲(chóng)對(duì)應(yīng)一個(gè)本地檢查器,網(wǎng)絡(luò)爬蟲(chóng)利用其對(duì)應(yīng)的本地檢查器進(jìn)行重復(fù)鏈接的檢查即可,無(wú)需搶占同一個(gè)檢查器的資源,提高了過(guò)濾重復(fù)鏈接的效率,也就提高了網(wǎng)絡(luò)爬蟲(chóng)的爬取效率。已經(jīng)爬取過(guò)的鏈接存儲(chǔ)于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)本地檢查器中,也就使得每個(gè)爬蟲(chóng)通過(guò)各自的本地檢查器過(guò)濾重復(fù)鏈接都是準(zhǔn)確的,即在提高爬取效率的同時(shí)也能提高過(guò)濾重復(fù)鏈接的準(zhǔn)確性,達(dá)到了準(zhǔn)確、高效進(jìn)行爬取的效果。

      可選地,在目標(biāo)本地檢查器根據(jù)其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谠撃繕?biāo)本地 檢查器中是否存在目標(biāo)爬取鏈接之后,方法還包括:在查詢出不存在目標(biāo)爬取鏈接時(shí),目標(biāo)本地檢查器向其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送允許爬取的指令,以使網(wǎng)絡(luò)爬蟲(chóng)爬取目標(biāo)爬取鏈接;在查詢出存在目標(biāo)爬取鏈接時(shí),目標(biāo)本地檢查器向其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送放棄爬取的指令,以使網(wǎng)絡(luò)爬蟲(chóng)放棄爬取目標(biāo)爬取鏈接。

      由目標(biāo)本地檢查器查詢其是否存儲(chǔ)有目標(biāo)爬取鏈接,能夠查到就說(shuō)明該目標(biāo)爬取鏈接已經(jīng)爬取過(guò),不需要再爬取,則通知相應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)不對(duì)目標(biāo)爬取鏈接進(jìn)行爬??;不能查到就說(shuō)明該目標(biāo)爬取鏈接沒(méi)有爬取過(guò),可以進(jìn)行爬取,則通知相應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)對(duì)目標(biāo)爬取鏈接進(jìn)行爬取。由于在爬取之前先查詢?cè)撃繕?biāo)爬取鏈接是否爬取過(guò),因此避免了相同的目標(biāo)爬取鏈接被重復(fù)爬取。由于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)本地檢查器的爬取鏈接信息是同步的,因此,每個(gè)網(wǎng)絡(luò)爬蟲(chóng)可以從相應(yīng)的本地檢查器中查詢目標(biāo)爬取鏈接是否被爬取,避免了搶占同一個(gè)本地檢查器,提高了查詢的效率,就整體而言,也提高了爬取的效率。

      如圖2所示,網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com,網(wǎng)絡(luò)爬蟲(chóng)A在本地檢查器a中查找該目標(biāo)鏈接,如果沒(méi)有在本地檢查器a中查找到該目標(biāo)鏈接,則網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com。如果在本地檢查器a中查找到該目標(biāo)鏈接,則確定該目標(biāo)鏈接已經(jīng)爬取過(guò),放棄爬取該目標(biāo)鏈接,從而避免了同一鏈接的重復(fù)爬取。

      具體地,網(wǎng)絡(luò)爬蟲(chóng)集群還包括廣播模塊,目標(biāo)本地檢查器向其他本地檢查器發(fā)送攜帶有目標(biāo)爬取鏈接的廣播包括:目標(biāo)本地檢查器向廣播模塊發(fā)送攜帶有目標(biāo)爬取鏈接的爬取信息,以使廣播模塊根據(jù)爬取信息生成廣播,并由廣播模塊將廣播發(fā)送給訂閱廣播的其他本地檢查器。本地檢查器通過(guò)網(wǎng)絡(luò)爬蟲(chóng)集群中的廣播模塊發(fā)送廣播,也接收來(lái)自廣播模塊發(fā)送的廣播,從而實(shí)現(xiàn)了網(wǎng)絡(luò)爬蟲(chóng)集群中所有本地檢查器同步更新。網(wǎng)絡(luò)爬蟲(chóng)集群中的其他網(wǎng)絡(luò)爬蟲(chóng)都能接收到廣播,并記錄目標(biāo)爬取鏈接,實(shí)現(xiàn)了多個(gè)網(wǎng)絡(luò)爬蟲(chóng)各自的本地檢查器中都能存儲(chǔ)已經(jīng)爬取過(guò)的鏈接。

      例如,如圖2所示,網(wǎng)絡(luò)爬蟲(chóng)集群包括網(wǎng)絡(luò)爬蟲(chóng)A、網(wǎng)絡(luò)爬蟲(chóng)B、網(wǎng)絡(luò)爬蟲(chóng)C……網(wǎng)絡(luò)爬蟲(chóng)N等,相應(yīng)的本地檢查器為本地檢查器a、本地檢查器b、本地檢查器c……本地檢查器n,網(wǎng)絡(luò)爬蟲(chóng)集群還包括廣播模塊X,所有訂閱廣播的網(wǎng)絡(luò)爬蟲(chóng)都可以收聽(tīng)到廣播模塊X發(fā)送的廣播。網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com,網(wǎng)絡(luò)爬蟲(chóng)A在本地檢查器a中查找該目標(biāo)鏈接,結(jié)果并未在本地檢查器a中查找到該目標(biāo)鏈接,則網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com。本地檢查器a向廣播模塊X發(fā)送目標(biāo)爬取鏈接www.abcdefg.com已經(jīng)爬取的信息,廣播模塊X生成廣播,該廣播攜帶有www.abcdefg.com。訂閱有該廣播的本地檢查器b、本地檢查器c……本地檢查 器n將廣播攜帶的www.abcdefg.com保存在本地。在網(wǎng)絡(luò)爬蟲(chóng)B需要爬取目標(biāo)爬取鏈接www.abcdefg.com時(shí),本地檢查器b查找到該目標(biāo)爬取鏈接,則網(wǎng)絡(luò)爬蟲(chóng)B不再爬取www.abcdefg.com。網(wǎng)絡(luò)爬蟲(chóng)B爬取另外一個(gè)本地檢查器b中沒(méi)有存儲(chǔ)的鏈接后,也可以發(fā)送爬取信息,過(guò)程參照本地檢查器a,此處不再贅述。

      可選地,目標(biāo)本地檢查器向其他本地檢查器發(fā)送攜帶有目標(biāo)爬取鏈接的廣播,以使其他本地檢查器依據(jù)廣播更新爬取鏈接包括:本地檢查器向其他本地檢查器發(fā)送攜帶有目標(biāo)爬取鏈接的廣播,以使其他本地檢查器接收廣播,并保存廣播攜帶的目標(biāo)爬取鏈接。

      由于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)爬蟲(chóng)對(duì)應(yīng)一個(gè)本地檢查器,可以通過(guò)向網(wǎng)絡(luò)爬蟲(chóng)集群添加一個(gè)爬蟲(chóng)和相應(yīng)的本地檢查器來(lái)擴(kuò)展網(wǎng)絡(luò)爬蟲(chóng)集群,或者從網(wǎng)絡(luò)爬蟲(chóng)集群中去掉一個(gè)爬蟲(chóng)和相應(yīng)的本地檢查器來(lái)變更網(wǎng)絡(luò)爬蟲(chóng)集群。在增加一個(gè)爬蟲(chóng)和相應(yīng)的本地檢查器時(shí),只需要相應(yīng)的本地檢查器訂閱廣播模塊的廣播,就能收到廣播模塊發(fā)送的更新信息,保證了多個(gè)本地檢查器的更新信息同步。這樣,多個(gè)本地檢查器中存儲(chǔ)的信息一致,無(wú)論是增加本地檢查器還是減少本地檢查器,都不會(huì)影響網(wǎng)絡(luò)爬蟲(chóng)集群中其余本地檢查器過(guò)濾重復(fù)鏈接,也不會(huì)影響網(wǎng)絡(luò)爬蟲(chóng)爬取鏈接的準(zhǔn)確性。由于每個(gè)爬蟲(chóng)對(duì)應(yīng)于一個(gè)本地檢查器,在成對(duì)增加或者減少爬蟲(chóng)和相應(yīng)的本地檢查器時(shí),不會(huì)降低其他爬蟲(chóng)的爬取效率。

      通過(guò)上述實(shí)施例,每個(gè)網(wǎng)絡(luò)爬蟲(chóng)通過(guò)一個(gè)相應(yīng)的本地檢查器過(guò)濾重復(fù)目標(biāo)爬取鏈接,提高了爬取效率。同時(shí),每個(gè)本地檢查器通過(guò)廣播接收同步更新已經(jīng)爬取過(guò)的鏈接的信息,也可以通過(guò)廣播發(fā)送同步更新已經(jīng)爬取過(guò)的鏈接的信息,使得網(wǎng)絡(luò)爬蟲(chóng)集群中的本地檢查器擁有一致的信息,也就保證了不同爬蟲(chóng)之間也不會(huì)重復(fù)爬取同一個(gè)鏈接,在多個(gè)爬蟲(chóng)同時(shí)執(zhí)行爬取任務(wù)時(shí),即能保證比較高的爬取效率,又能保證比較高的準(zhǔn)確性。

      根據(jù)本申請(qǐng)實(shí)施例,還提供了一種網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新裝置的裝置實(shí)施例,網(wǎng)絡(luò)爬蟲(chóng)集群中每個(gè)網(wǎng)絡(luò)爬蟲(chóng)配備一個(gè)本地檢查器,該網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新裝置能夠執(zhí)行上述網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法,上述網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新方法也可以通過(guò)該網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新裝置執(zhí)行。

      如圖3所示,該網(wǎng)絡(luò)爬蟲(chóng)集群信息的更新裝置包括:查詢單元10用于根據(jù)目標(biāo)本地檢查器對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谒瞿繕?biāo)本地檢查器中是否存在目標(biāo)爬取鏈接,其中,所述消息中攜帶有所述目標(biāo)爬取鏈接;廣播單元30用于在查詢出不存在所述目標(biāo)爬取鏈接時(shí),保存所述目標(biāo)爬取鏈接,并向其他本地檢查器發(fā)送攜帶有所述目標(biāo)爬取鏈接的廣播,以使所述其他本地檢查器依據(jù)所述廣播更新爬取鏈接。

      網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)網(wǎng)絡(luò)爬蟲(chóng)都配備一個(gè)本地檢查器,當(dāng)采用本地檢查器判斷出某個(gè)鏈接沒(méi)有被爬取過(guò)時(shí),可以對(duì)該鏈接進(jìn)行爬取,并通過(guò)廣播來(lái)發(fā)送該鏈接已經(jīng)被爬取的消息,收到該廣播的本地檢查器存儲(chǔ)該鏈接,以便于存儲(chǔ)有該鏈接的檢查器所對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)在進(jìn)行爬取時(shí),過(guò)濾掉該鏈接避免重復(fù)爬取同一個(gè)鏈接。由于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)網(wǎng)絡(luò)爬蟲(chóng)的本地檢查器都能收到廣播,因此,網(wǎng)絡(luò)爬蟲(chóng)集群中的網(wǎng)絡(luò)爬蟲(chóng)的本地檢查器能夠同步更新本地存儲(chǔ)的信息。在該實(shí)施例中,廣播的方式實(shí)現(xiàn)了多個(gè)本地檢查器同步更新檢查器的信息,無(wú)論網(wǎng)絡(luò)爬蟲(chóng)才利用哪個(gè)本地檢查器過(guò)濾重復(fù)鏈接,都能避免重復(fù)鏈接被準(zhǔn)確過(guò)濾掉。由于每個(gè)網(wǎng)絡(luò)爬蟲(chóng)對(duì)應(yīng)一個(gè)本地檢查器,網(wǎng)絡(luò)爬蟲(chóng)利用其對(duì)應(yīng)的本地檢查器進(jìn)行重復(fù)鏈接的檢查即可,無(wú)需搶占同一個(gè)檢查器的資源,提高了過(guò)濾重復(fù)鏈接的效率,也就提高了網(wǎng)絡(luò)爬蟲(chóng)的爬取效率。已經(jīng)爬取過(guò)的鏈接存儲(chǔ)于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)本地檢查器中,也就使得每個(gè)爬蟲(chóng)通過(guò)各自的本地檢查器過(guò)濾重復(fù)鏈接都是準(zhǔn)確的,即在提高爬取效率的同時(shí)也能提高過(guò)濾重復(fù)鏈接的準(zhǔn)確性,達(dá)到了準(zhǔn)確、高效進(jìn)行爬取的效果。

      可選地,裝置還包括:第一發(fā)送單元,用于在目標(biāo)本地檢查器根據(jù)其對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送的消息查詢?cè)谠撃繕?biāo)本地檢查器中是否存在目標(biāo)爬取鏈接之后,在查詢出不存在目標(biāo)爬取鏈接時(shí),向目標(biāo)本地檢查器對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送允許爬取的指令,以使網(wǎng)絡(luò)爬蟲(chóng)爬取目標(biāo)爬取鏈接;第二發(fā)送單元,用于在查詢出存在目標(biāo)爬取鏈接時(shí),目標(biāo)本地檢查器向目標(biāo)本地檢查器對(duì)應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)發(fā)送放棄爬取的指令,以使網(wǎng)絡(luò)爬蟲(chóng)放棄爬取目標(biāo)爬取鏈接。

      由目標(biāo)本地檢查器查詢其是否存儲(chǔ)有目標(biāo)爬取鏈接,能夠查到就說(shuō)明該目標(biāo)爬取鏈接已經(jīng)爬取過(guò),不需要再爬取,則通知相應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)不對(duì)目標(biāo)爬取鏈接進(jìn)行爬??;不能查到就說(shuō)明該目標(biāo)爬取鏈接沒(méi)有爬取過(guò),可以進(jìn)行爬取,則通知相應(yīng)的網(wǎng)絡(luò)爬蟲(chóng)對(duì)目標(biāo)爬取鏈接進(jìn)行爬取。由于在爬取之前先查詢?cè)撃繕?biāo)爬取鏈接是否爬取過(guò),因此避免了相同的目標(biāo)爬取鏈接被重復(fù)爬取。由于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)本地檢查器的爬取鏈接信息是同步的,因此,每個(gè)網(wǎng)絡(luò)爬蟲(chóng)可以從相應(yīng)的本地檢查器中查詢目標(biāo)爬取鏈接是否被爬取,避免了搶占同一個(gè)本地檢查器,提高了查詢的效率,就整體而言,也提高了爬取的效率。

      如圖2所示,網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com,網(wǎng)絡(luò)爬蟲(chóng)A在本地檢查器a中查找該目標(biāo)鏈接,如果沒(méi)有在本地檢查器a中查找到該目標(biāo)鏈接,則網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com。如果在本地檢查器a中查找到該目標(biāo)鏈接,則確定該目標(biāo)鏈接已經(jīng)爬取過(guò),放棄爬取該目標(biāo)鏈接,從而避免了同一鏈接的重復(fù)爬取。

      具體地,網(wǎng)絡(luò)爬蟲(chóng)集群還包括廣播模塊,廣播單元包括:發(fā)送模塊,用于向廣播模塊發(fā)送攜帶有目標(biāo)爬取鏈接的爬取信息,以使廣播模塊根據(jù)爬取信息生成廣播,并將廣播發(fā)送給訂閱廣播的其他本地檢查器。

      本地檢查器通過(guò)網(wǎng)絡(luò)爬蟲(chóng)集群中的廣播模塊發(fā)送廣播,也接收來(lái)自廣播模塊發(fā)送的廣播,從而實(shí)現(xiàn)了網(wǎng)絡(luò)爬蟲(chóng)集群中所有本地檢查器同步更新。網(wǎng)絡(luò)爬蟲(chóng)集群中的其他網(wǎng)絡(luò)爬蟲(chóng)都能接收到廣播,并記錄目標(biāo)爬取鏈接,實(shí)現(xiàn)了多個(gè)網(wǎng)絡(luò)爬蟲(chóng)各自的本地檢查器中都能存儲(chǔ)已經(jīng)爬取過(guò)的鏈接。

      例如,如圖2所示,網(wǎng)絡(luò)爬蟲(chóng)集群包括網(wǎng)絡(luò)爬蟲(chóng)A、網(wǎng)絡(luò)爬蟲(chóng)B、網(wǎng)絡(luò)爬蟲(chóng)C……網(wǎng)絡(luò)爬蟲(chóng)N等,相應(yīng)的本地檢查器為本地檢查器a、本地檢查器b、本地檢查器c……本地檢查器n,網(wǎng)絡(luò)爬蟲(chóng)集群還包括廣播模塊X,所有訂閱廣播的網(wǎng)絡(luò)爬蟲(chóng)都可以收聽(tīng)到廣播模塊X發(fā)送的廣播。網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com,網(wǎng)絡(luò)爬蟲(chóng)A在本地檢查器a中查找該目標(biāo)鏈接,結(jié)果并未在本地檢查器a中查找到該目標(biāo)鏈接,則網(wǎng)絡(luò)爬蟲(chóng)A爬取目標(biāo)爬取鏈接www.abcdefg.com。本地檢查器a向廣播模塊X發(fā)送目標(biāo)爬取鏈接www.abcdefg.com已經(jīng)爬取的信息,廣播模塊X生成廣播,該廣播攜帶有www.abcdefg.com。訂閱有該廣播的本地檢查器b、本地檢查器c……本地檢查器n將廣播攜帶的www.abcdefg.com保存在本地。在網(wǎng)絡(luò)爬蟲(chóng)B需要爬取目標(biāo)爬取鏈接www.abcdefg.com時(shí),本地檢查器b查找到該目標(biāo)爬取鏈接,則網(wǎng)絡(luò)爬蟲(chóng)B不再爬取www.abcdefg.com。網(wǎng)絡(luò)爬蟲(chóng)B爬取另外一個(gè)本地檢查器b中沒(méi)有存儲(chǔ)的鏈接后,也可以發(fā)送爬取信息,過(guò)程參照本地檢查器a,此處不再贅述。

      可選地,廣播單元還用于向其他本地檢查器發(fā)送攜帶有目標(biāo)爬取鏈接的廣播,以使其他本地檢查器接收廣播,并保存廣播攜帶的目標(biāo)爬取鏈接。

      由于網(wǎng)絡(luò)爬蟲(chóng)集群中的每個(gè)爬蟲(chóng)對(duì)應(yīng)一個(gè)本地檢查器,可以通過(guò)向網(wǎng)絡(luò)爬蟲(chóng)集群添加一個(gè)爬蟲(chóng)和相應(yīng)的本地檢查器來(lái)擴(kuò)展網(wǎng)絡(luò)爬蟲(chóng)集群,或者從網(wǎng)絡(luò)爬蟲(chóng)集群中去掉一個(gè)爬蟲(chóng)和相應(yīng)的本地檢查器來(lái)變更網(wǎng)絡(luò)爬蟲(chóng)集群。在增加一個(gè)爬蟲(chóng)和相應(yīng)的本地檢查器時(shí),只需要相應(yīng)的本地檢查器訂閱廣播模塊的廣播,就能收到廣播模塊發(fā)送的更新信息,保證了多個(gè)本地檢查器的更新信息同步。這樣,多個(gè)本地檢查器中存儲(chǔ)的信息一致,無(wú)論是增加本地檢查器還是減少本地檢查器,都不會(huì)影響網(wǎng)絡(luò)爬蟲(chóng)集群中其余本地檢查器過(guò)濾重復(fù)鏈接,也不會(huì)影響網(wǎng)絡(luò)爬蟲(chóng)爬取鏈接的準(zhǔn)確性。由于每個(gè)爬蟲(chóng)對(duì)應(yīng)于一個(gè)本地檢查器,在成對(duì)增加或者減少爬蟲(chóng)和相應(yīng)的本地檢查器時(shí),不會(huì)降低其他爬蟲(chóng)的爬取效率。

      通過(guò)上述實(shí)施例,每個(gè)網(wǎng)絡(luò)爬蟲(chóng)通過(guò)一個(gè)相應(yīng)的本地檢查器過(guò)濾重復(fù)目標(biāo)爬取鏈接,提高了爬取效率。同時(shí),每個(gè)本地檢查器通過(guò)廣播接收同步更新已經(jīng)爬取過(guò)的鏈 接的信息,也可以通過(guò)廣播發(fā)送同步更新已經(jīng)爬取過(guò)的鏈接的信息,使得網(wǎng)絡(luò)爬蟲(chóng)集群中的本地檢查器擁有一致的信息,也就保證了不同爬蟲(chóng)之間也不會(huì)重復(fù)爬取同一個(gè)鏈接,在多個(gè)爬蟲(chóng)同時(shí)執(zhí)行爬取任務(wù)時(shí),即能保證比較高的爬取效率,又能保證比較高的準(zhǔn)確性。

      上述本申請(qǐng)實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。

      在本申請(qǐng)的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。

      在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。

      所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

      另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

      所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

      以上所述僅是本申請(qǐng)的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本申請(qǐng)的保護(hù)范圍。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1