作為seoer你了解搜尋引擎抓取和更新策略

2022-10-08 09:18:04 字數 2490 閱讀 3995

最近在看一本書,發現當我們不實踐直接看原理是枯燥無味的,而實踐過後反過來看原理,會覺得很多道理,很多感悟。就拿我自己做反面教材,說我是搜尋引擎優化工作者,我對搜尋引擎的工作方式和基本的抓取原理,更新策略都不懂。那麼你呢?

下面就分享下我的讀書筆記,僅當新人掃盲。

在介紹搜尋引擎爬蟲的之前,首先了解爬蟲把網頁的分類,四種:

1,已過期的網頁和已**的網頁

2,待**的網頁

3,可知網頁

4,不可知網頁

下面我會詳細介紹搜尋引擎是如何更新已**網頁,如何**待**網頁,如何處理可知但未抓取的網頁,如何抓取不可知網頁。

一.處理待**網頁

抓取策略:在一堆可知的網頁中,搜尋引擎會抽出待抓取網頁url,爬蟲抓取網頁url在其中順序排列,形成乙個佇列,排程程式每次從佇列頭取出某個url,傳送給網頁**器**內容,每個新**的頁面包含的url會追加到帶抓取佇列中的末尾,形成迴圈,這是最基礎的演算法。但不是唯一的方法。

這樣純粹是按照順序抓取,但是搜尋引擎一般都選擇重要的頁面優先抓取。網頁重要性,大部分是按照網頁流行度抓取的,所為網頁流行度,谷歌官方有句話是指**度,通俗意思就是反向鏈結。(所以才有那麼多人做外鏈)

一般有四種方案選擇重要頁面:寬度優先遍歷策略,非完全pagerank(非谷歌pr值)策略,ocip策略,大站優先策略

1、寬度優先遍歷策略:將新**的網頁包含的鏈結直接追加到帶抓取url佇列末尾。看似很機械,其實包含了一些優先策略:

如果入鏈比較多,就更加容易被寬度優先遍歷策略抓取到,入鏈個數側面表現了網頁的重要性。(這就是為什麼要做好站內鏈結)

2、非完全pagerank:前面的是以數量來定的,這個是加入了質量。

初始演算法:將已**的的網頁加入待**url佇列中形成網頁集合,在這個集合中計算pr,然後將帶抓取的佇列按照pr重新排列,就按照這個順序抓取。

(每次新**網頁之後又要重新計算排序,顯得效率太低了)

每當攢夠k個網頁之後在重新計算。但是問題是:新抽出來的網頁沒後計算pr沒有pr值,他們的重要性可能比已經在佇列中的要高怎麼辦?

解決辦法:給每個新抽出來賦予乙個臨時pr,這個臨時pr是根據入鏈傳到的pr值彙總的值。這樣在計算下,如果比佇列中高就有限抓取他。這就是非完全pr

(pr高的會優先抓取,收錄多排名靠前機會也大一些,所以會有那麼多人提高spr)

3、ocip(online page importance computation)策略:**頁面重要性,改進的pr演算法。

演算法開始之前就每個頁面都給一樣的現金,,當這個頁面被**了以後,這個現金就平均分給他的匯出頁面,而自己的就清空。這些匯出頁面放在帶抓取的佇列中,按照現金多少來優先抓取。

和pr區別:pr上乙個頁面的不清空,每次都要迭代重新計算,而這個不用重新計算都清空了。而且pr存在無連線關係的跳轉,而這個只要無連線就不傳遞現金。

4、大站優先:帶抓取佇列中哪個**的多就優先抓取哪個。(所以**頁面要豐富,內容要豐富)

二、更新已**網頁

上面就是搜尋引擎的抓取策略。抓取完了的頁面就加入已**的網頁中,已**的網頁需要不斷地更新,那麼搜尋引擎又是如何更新的呢?

一般的網頁更新策略:歷史參考策略,使用者體驗策略,聚類抽樣策略

1、歷史參考:過去頻繁更新的,現在可能也頻繁。利用模型**未來更新時間。忽略導航欄和廣告的頻繁更新,所以導航的頻繁更新沒用,重在內容(現在知道為什麼更新內容要持續,有規律了吧)

2、使用者體驗:即使網頁已經過時了,需要更新了,但如果我更新了不影響使用者體驗搜尋引擎就晚些更新。演算法是:

網頁更新對搜尋引擎搜尋質量的影響(一般看排名),影響大就盡快更新。所以他們會儲存多個歷史網頁,根據以前更新所帶來的影響判斷更新對搜尋引擎質量的影響大小。

以上兩種缺點:依賴歷史,要儲存很多歷史資料,增加負擔。如果沒有歷史記錄就不準確了。

3、聚類抽樣策略:把網頁分類,根據同一類別網頁更新頻率更新所有這一類別的網頁。抽取最具代表性的,看他的更新頻率,以後同行業的都按照這個頻率。

三、抓取不可知網頁

不可知的網頁就是暗網,搜尋引擎很難用常規方法抓取到的資料。比如沒有連線的**,資料庫。比如乙個產品庫存查詢,可能要輸入產品名稱,地區,型號一系列文字才能查詢庫存數量。

而搜尋引擎是難以抓取的。這就有了查詢組合和,isit演算法。

先介紹下兩個概念:

1、富含資訊查詢模版:就比如乙個查詢系統,我設定乙個查詢模版,每個文字框輸入什麼訊號,地區,產品名稱等,形成不同的查詢組合。不同的組合之間差異很大,就是富含資訊查詢模版。

這個模板是怎麼確定的呢?爬蟲先從一維模版開始,比如先別的不是輸入就輸入地區,看是否是富含資訊查詢模版,是就擴充套件到二維模版,比如地區+型號。如此增加維度,直到沒有新的模版。

2、詞的組合:也許你納悶了,爬蟲怎麼知道這個輸入框要輸入什麼,是地區還是產品名稱,還是時間?所以爬蟲開始需要人工提示,人工提供一些初始查詢種子表,爬蟲更具這個**查詢**頁面,然後分析頁面,自動挖掘新的關鍵詞,形成新的查詢列表,然後在查詢,將結果提交給搜尋引擎,直到沒有新內容為止。

這樣就完成了對暗網的抓取。

以上只是簡單的介紹一下爬蟲的抓取和更新框架,具體的演算法可就複雜多了,有待我慢慢研究過後再分享。

天網搜尋引擎

技術報告 國際互連網 internet 這乙個全球性的計算機網路在九十年代得到了迅速的發展,連入的主機數以幾乎每年翻一翻的速度增長,並已將它的影響擴大到資訊化社會的各個角落。internet上豐富的資訊資源和便捷的通訊手段是其吸引使用者的主要因素。www world wide web 是目前inte...

搜尋引擎優化

進入這個行業也沒有人的帶領,是機緣巧合下走入了 推廣的大門,開始覺得seo其實就是那麼一回事兒,沒有什麼難處。每天編輯下文章,然後發發外部鏈結。那時候懵懂的認為在論壇和貼吧發發帖子就是做外鏈了,現在想起來那時候的自己真的很幼稚,但是方法並不錯。只是很粗淺而已。這樣做了久了。人就會感到乏味,枯燥。甚至...

使用搜尋引擎

石牛江鎮中學鄭小 教學內容 學會使用搜尋引擎 教學目標 1 掌握使用搜尋引擎的方法 2 了解幾個不同的搜尋引擎 3 熟悉複雜條件的搜尋方法 教學重點 搜尋引擎的使用 教學難點 複雜條件的搜尋方法 學習方式 根據老師布置的任務,自己動手操作,老師抽查學習結果。實習任務 1 通過搜尋,找出 遠端教育 的...