索引頁鏈接補全機制的一種方法

1 評論 10047 瀏覽 0 收藏 11 分鐘

一、背景

  Spider位于搜索引擎數據流的最上游,負責將互聯網上的資源采集到本地,提供給后續檢索使用,是搜索引擎的最主要數據來源之一。spider系統的目標就是發現并抓取互聯網中一切有價值的網頁,為達到這個目標,首先就是發現有價值網頁的鏈接,當前spider有多種鏈接發現機制來盡量快而全的發現資源鏈接,本文主要描述其中一種針對特定索引頁的鏈接補全機制,并給出對這種特定類型的索引頁面的建議處理規范用于優化收錄效果。 一些事

  當前大多數互聯網網站以索引頁和翻頁的形式來組織網站資源,當有新資源增加時,老資源往后推移到翻頁系列中。 yixieshi

  如下圖所示: yixieshi

  圖表1 http://roll.news.sina.com.cn/news/gnxw/gdxw1/index.shtml

?

  圖2為18小時后該網頁翻頁系列的第四頁的內容,在這段時間內新增了三頁多的資源,圖1中紅色矩陣圈到的資源在18個小時后已經往后有序推移到第4頁的紅色方塊處。

  圖表2 18小時后第四頁 一些事

    對spider來說,這種特定類型的索引頁是資源鏈接發現的一種有效渠道,但是由于spider是定期檢查這些網頁來獲得新增的資源鏈接,檢查的周期同資源鏈接發布的周期不可避免會有不同(spider會盡量探測網頁的發布周期,以合理的頻率來檢查網頁),周期不同的時候,資源鏈接很有可能就被推到翻頁序列中,所以spider需要對這種特殊類型的翻頁系列作翻頁補全,從而保證收錄資源的完全。

  二、主要思路

  本文主要討論這種資源按發布時間有序排布的網頁,即新發布的資源排布在翻頁第1頁(或翻頁最后一頁),老的資源往后(或者往前)有序推移的索引頁的補全機制。主要思路是將整個翻頁系列的網頁看成一個整體,綜合判定它們的抓取狀態,通過記錄每次抓取網頁發現的資源鏈接,然后將此次發現的資源鏈接與歷史上發現的資源鏈接作比較,如果有交集,說明該次抓取發現了所有的新增資源;否則,說明該次抓取并未發現所有的新增資源,需要繼續抓取下一頁甚至下幾頁來發現所有的新增資源。

  2.1 資源鏈接是否按照時間排序

  判斷資源是否按發布時間排布是這類頁面的一個必要條件,那么如何判斷資源是否按發布時間排布呢?如上面圖1所示,有些頁面中每個資源鏈接后面跟隨著對應的發布時間,通過資源鏈接對應的時間集合,判斷時間集合是否按大到小或小到大排序,如果是的話,則說明網頁中的資源是按發布時間有序排布,反之亦然。圖1中資源從上到下對應的時間是越來越小的,即是資源按發布時間有序的。 yixieshi

  還有一類網頁,如下面圖3所示,網頁內容中有多種排序方式,如按銷量排序,按價格排序,如評論數排序,按上架時間排序。通過識別和提取當前的排序方式,然后判斷當前的排序方式是否為按時間排序,如果是,則說明網頁中的資源是按發布時間有序排布,反之亦然。圖3中的排序方式是按上架時間排序,屬于時間排序方式,所以該網頁發布的資源是按發布時間有序的。

  另外也會根據資源鏈接抓回后提取的發布時間綜合判斷。

  圖表3 多種排序方式的索引頁 yixieshi

  2.2 補全機制

  對于按發布時間有序排布在索引頁系列的資源鏈接,如何保證新發布的資源都被收錄呢?如上述所說,在18個小時后,圖1中的資源鏈接已經往后有序推移到翻頁第4頁了,如此看,這段時間內新增了翻頁第2,3,4頁索引的資源鏈接,那么,spider就需要完全的收錄這些新增的資源;

  首先,當spider抓取18小時后的第1頁時,將新發現的資源鏈接集合,與上一次18小時前第1頁索引頁調度記錄的資源鏈接集合作比較,會發現兩次調度發現的資源鏈接沒有交集,所以就可能存在漏鏈。進而需要繼續發起第2頁的調度,第2頁發現的資源鏈接集合與之仍然沒有交集,所以還可能存在漏鏈,繼續發起第3頁,第4頁的調度,最終如圖2所示,紅框中的鏈接與上一次索引頁調度記錄的資源鏈接有交集,因此可以斷定已經補全了這段時間內新增的資源,從而結束翻頁系列的調度,并保證了該翻頁系列的所有鏈接的補全,從而提升搜索產品的收錄效果。 互聯網的一些事

  2.3 翻頁條的識別和翻頁條對應的鏈接序列區塊的識別

  為了達到上面的效果,除了需要識別翻頁系列的排序方式是不是按照時間排序,還需要識別索引頁中的翻頁條和其對應的鏈接區塊。

  因為沒有翻頁條的識別,spider系統就不可能把這個翻頁序列的所有鏈接綁定起來,整體考慮它們的狀態,那么調度抓取的結果就是隨機的,從而不能保證補全效果,當前通過網頁中的翻頁的一系列特征,通過機器學習的方法來識別網頁中的翻頁區塊和翻頁深度,以及上一頁,下一頁的鏈接,從而為上述補全機制提供基本數據。

  另外一方面,即使有了翻頁條的識別,沒有對應鏈接區塊的識別,上述補全機制還是不能工作,因為上述機制需要對比發現的鏈接的集合來判定終止條件,所以,也需要識別翻頁條對應的鏈接區塊,從而提供翻頁終止條件。

  特殊情況下,一個網頁可能包含多個翻頁條,這種情況更需要進行翻頁條和鏈接區塊的對應。

  三、建議的方法和標準

  當前百度spider系統對網頁的類型,網頁中翻頁條的位置,翻頁條對應的索引列表,以及列表是否按照時間排序都會做相應的判斷,并根據實際的情況進行處理,但是機器自動的判斷方法畢竟不能做到100%的識別準確率,所以如果站長能夠通過在頁面中添加一些百度推薦的標簽來標志相應的功能區域,就可以極大地提高我們識別的準確率,從而提高spider系統對網站資源發現的即時性,從而提高網站的收錄效果。 互聯網的一些事

  Spider鏈接補全當前最關心的是網頁的翻頁條和翻頁條對應的索引鏈接列表的區塊,所以可以通過區塊的元素(譬如div,ul)的class屬性來標志相應的特征,供百度spider識別使用,建議使用下面的屬性來標志: 互聯網的一些事

  表1 支持的CLASS擴展屬性 互聯網的一些事

1-120Q6025254331  譬如百度新聞的頁面可以這樣設置: 互聯網的一些事

1-120Q6025301201  對翻頁條對應的區塊元素p可以設置class屬性Baidu_paging_indicator,對該翻頁條對應的主體鏈接的區塊元素div,設置 Baidu_paging_content_indicator Orderby_posttime,這樣翻頁條和對應的鏈接區塊就對應起來,并且告知了百度是按照發布時間排序的,從而可以優化spider系統的抓取行 為,改善站點的收錄效果。 一些事

  四、總結

  除了上面說明的鏈接發現方法,Baidu的抓取系統還有非常多的其他手段來保證對 有價值網站的收錄覆蓋率,上述方法只是針對特定索引頁類型而采取的一種特定的手段,互聯網站長可以參考使用。站長也可以通過spider的站長平臺來了解 如何獲得更快更好的網站收錄效果,譬如直接通過sitemap協議推送鏈接。站長平臺地址:http://zhanzhang.baidu.com/,剛剛改版,全新功能呈現。

 

來源:百度

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!