搜尋引擎如何去抓取網頁

2022-09-25 20:00:13 字數 1936 閱讀 2858

搜尋引擎看似簡單的抓取-入庫-查詢工作,但其中各個環節暗含的演算法卻十分複雜。

搜尋引擎抓取頁面工作靠蜘蛛(spider)來完成,抓取動作很容易實現,但是抓取哪些頁面,優先抓取哪些頁面卻需要演算法來決定,下面介紹幾個抓取演算法:

1、寬度優先抓取策略:

我們都知道,大部分**都是按照樹狀圖來完成頁面分布的,那程式設計客棧麼在乙個樹狀圖的鏈結結構中,哪些頁面會被優先抓取呢?為什麼要優先抓取這些頁面呢?寬度優先抓取策略就是按照樹狀圖結構,優先抓取同級鏈結,待同級鏈結duulhwfqd抓取完成後,再抓取下一級鏈結。如下圖:

大家可以發現,我在表述的時候,使用的是鏈結結構而不是**結構。這裡的鏈結結構可以由任何頁面的鏈結構成,並不一定是**內部鏈結。這是一種理想化的寬度優先抓取策略,在實際的抓取過程中,不可能想這樣完全寬度優先,而是有限寬度優先,如下圖:

上圖中,我們的spider在取回g鏈結時,通過演算法發現,g頁面沒有任何價值,所以悲劇的g鏈結以及下級h鏈結被spider給和諧了。至於g鏈結為什麼會被和諧掉?好吧,我們來分析一下。

2、非完全遍歷鏈結權重計算:

每個搜尋引擎都有一套pagerank(指頁面權重,非google pr)計算方法,並且經常會更新。網際網路近乎無窮大,每天都會產生海量的新鏈結。搜尋引擎對於鏈結權重的計算只能是非完全遍歷。為什麼google pr要三個月左右才更新一次?為什麼百度大更新乙個月1-2兩次?這就是因為搜尋引擎採用了非完全遍歷鏈結權重演算法來計算鏈結權重。其實按照目前的技術,實現更快頻率的權重更新並不難,計程式設計客棧算速度以及儲存速度完全跟得上,但為什麼不去做?因為沒那麼必要,或者已經實現了,但不想公布出來。那,什麼是非完全遍歷鏈結權重計算?

我們將k數量的鏈結形成乙個集合,r代表鏈結所獲得的pagerank,s代表鏈結所包含的鏈結數量,q代表是否參與傳遞,β代表阻尼因數,那麼鏈結所獲得的權重計算公式為:

從公式 裡可以發現,決定鏈結權重的是q,如果鏈結www.cppcns.com被發現作弊,或者搜尋引擎人工清除,或者其他原因,q被設為0,那程式設計客棧麼再多的外鏈都沒用。β是阻尼因數,主要作用是防止權重0的出現,導致鏈結無法參與權重傳遞,以及防止作弊的出現。阻尼因數β一般為0.85。為什麼會在**數量上乘以阻尼因數?因為乙個頁面內並非所有的頁面都參與權重傳遞,搜尋引擎會將已經過濾過的鏈結再度剔除15%。

但這種非完全遍歷權重計算需要積累到一定數量的鏈結後才能再次開始計算,所以一般更新週期比較慢,無法滿足使用者對即時資訊的需求。所以在此基礎上,出現了實時權重分配抓取策略。即當蜘蛛完成抓取頁面並入口後,馬上進行權重分配,將權重重新分配待抓取鏈結庫,然後蜘蛛根據權重高低來進行抓取。

3、社會工程學抓取策略

社會工程學策略,就是在蜘蛛抓取的過程中,加入人工智慧,或者通過人工智慧培訓出來的機器智慧型,來確定抓取的優先度。目前我已知的抓取策略有:

a、熱點優先策略:對於爆發式的熱點關鍵詞進行優先抓取,而且不需要經過嚴格的去重和過濾,因為會有新的鏈結來覆蓋以及使用者的主動選擇。

b、權威優先策略:搜尋引擎會給每個**分配乙個權威度,通過**歷史、**更新等來確定**的權威度,優先抓取權威度高的**鏈結。

c、使用者點選策略:當大部分搜尋乙個行業詞庫內的關鍵詞時,頻繁的點選同乙個**的搜尋結果,那麼搜尋引擎會更頻繁的抓取這個**。

d、歷史參考策略:對於保持頻繁更新的**,搜尋引擎會對**建立更新歷史,根據更新歷史來預估未來的更新量以及確定抓取頻率。

對seo工作的指導:

搜尋引擎的抓取原理已經深入的講解了,那麼現在要淺出這些原理對seo工作的指導作用:

a、定時、定量的更新會讓蜘蛛準時爬行抓取**頁面;

b、公司運作**比個人**的權威度更高;

c、建站時間長的**更容易被抓取;

d、頁面內應適當的分布鏈結,太多、太少都不好;

e、受使用者歡迎的**同樣受搜尋引擎歡迎;

f、重要頁面應該放置在更淺的**結構中;

g、**內的行業權威資訊會提高**的權威度。

文章**:

本文標題: 搜尋引擎如何去抓取網頁

本文位址:

如何遮蔽搜尋引擎抓取?

作 運營尤其是 排名優化的時候,我們總想著如何來引導搜尋引擎蜘蛛來爬行網頁,收錄。然而,很多時候一些 因為所真對的使用者群體和目標地區不同,並不希望獲得搜尋引擎的光顧,這個時候我們要如何來解決呢?今天和筆者小丹一起來研究一下吧!常見搜尋引擎蜘蛛名稱如下 2 googlebot 谷歌蜘蛛 3 goog...

如何禁止搜尋引擎收錄抓取

第一種 robots.txt方法 搜尋引擎預設的遵守robots.txt協議,建立robots.txt文字檔案放至 根目錄下,編輯 如下 user agent disallow 通過 即可告訴搜尋引擎不要抓取採取收錄本 第二種 網頁 在 首頁 之間,加入 此標記禁止搜尋引擎抓取 並顯示網頁快照。1 ...

如何禁止搜尋引擎收錄抓取

如果你的 涉及個人隱私或者機密性非公開的網頁,怎樣告訴禁止搜尋引擎收錄抓取,下面侯慶龍說下以下方法,希望對不想被搜尋引擎收xcensd錄抓取 有所幫助。第一種 robots.txt方法 搜尋引擎預設的遵守robots.txt協議,建立robots.txt文字檔案放至 根目錄下,編輯 如下 user ...