簡單分析搜尋引擎蜘蛛的爬取策略

搜尋引擎蜘蛛每天是怎麼樣去爬取我們的網的呢?針對這些你有多少的了解?那搜尋引擎蜘蛛的爬取過程又是怎麼樣的呢?在搜尋引擎蜘蛛系統中,待爬取URL隊列是很關鍵的部分,需要蜘蛛爬取的網頁URL在其中順序排列,形成一個隊列結構,調度程序每次從隊列頭取出某個URL,發送給網頁下載器頁面內容,每個新下載的頁面包含的URL會追加到待爬取URL隊列的末尾,如此形成循環,整個爬蟲系統可以說是由這個隊列驅動運轉的。同樣我們的網站每天都要經過這樣一個隊列,讓搜尋引擎進行爬取的。

那麼待爬取URL隊列中的頁面URL  的排列順序是如何來確定的呢?上面我們說了將新下載頁面中的包含的連結追加到隊列尾部,這固然是一種確定隊列URL順序的方法,但並非唯一的手段,事實上,還可以採納很多其他技術來實現,將隊列中待爬取的URL進行排序。那麼究竟搜尋引擎蜘蛛是按照什麼樣的策略進行的爬取呢?以下我們來進行更深入的分析吧。

第一、寬度優化遍歷策略

寬度優化遍歷是一種非常簡單直觀且歷史很悠久的遍歷方法,在搜尋引擎爬蟲一出現就開始採用了。新提出的抓取策略往往會將這種方法作為比較基準,但應該注意到的是,這種策略也是一種相當強悍的方法,很多新方法實際效果不見昨比寬度優化遍歷策略好,所以至今這種方法也是很多實際爬蟲系統優先採用的爬取策略。網頁爬取順序基本是按照網頁的重要性排序的。之所以如此,有研究人員認為,如果某個網頁包含很多入鏈,那麼更有可能被寬度優化遍歷策略早早爬到,而入鏈這個數從側面體現了網頁的重要性,即實際上寬度優化遍歷策略隱含了一些網頁優化級假設。

第二、非完全pagerank策略

PageRank是一種著名的連結分析算法,可以用來衡量網頁的重要性。很自然地,可以想到用PageRank的思想來對URL優化級進行排序。但是這裡有個問題,PageRank是個全局性算法,也就是說當所有網頁下載完成後,其計算結果才是可靠的,而爬蟲的目的就是去下載網頁,在運行過程中只能看到一部分頁面,所以在爬取階段的網頁是無法獲得可靠的PageRank得分的。對於已經下載的網頁,加上待爬取的URL隊列中的一URL一起,形成網頁集合,在此集合內進行PageRank計算,計算完成之後,將待爬取URL隊列里的網頁按照按照PageRank得分由高低排序,形成的序列就是爬蟲接下來應該依次爬取的URL列表。這也是為何稱之為「非完全PageRank」的原因。

第三、OPIC策略( Online Page Importance Computation)

OPIC的字面含義是「在線頁面重要性計算」,可以將其看做是一種改進的PageRank算法。在算法開始之前,每個網際網路頁面都給予相同的現金,每當下載了某個頁面P後,P就將自己擁有的現金平均分配給頁面中包含的連結頁面,氫自己的現金清空。而對於待爬取URL隊列中的網頁,則根據其手頭擁有的現金金額多少排序,優先下載現金最充裕的網頁,OPIC從大的框架上與PageRank思路基本一致,區別在於:PageRank每次需要疊代計算,而OPIC策略不需要疊代過程。所以計算速度遠遠快與PageRank,適合實時 計算使用。同時,PageRank,在計算時,存在向無連結關係網頁的遠程跳轉過程,而OPIC沒有這一計算因子。實驗結果表明,OPIC是較好的重要性衡量策略,效果略優於寬度優化遍歷策略。

第四、大站優化策略

大部優化策略思路很直接:以網站為單位來選題網頁重要性,對於待爬取URL隊列中的網頁根據所屬網站歸類,如果哪個網站等待下載的頁面最多,則優化先下載這些連結,其本質思想傾向於優先下載大型網站。因為大型網站往往包含更多的頁面。鑑於大型網站往往是著名企業的內容,其網頁質量一般較高,所以這個思路雖然簡單,但是有一定依據。實驗表明這個算法效果也要略優先於寬度優先遍歷策略。

第五、網頁更新策略

網際網路的動態是其顯著特徵,隨時都有新出現的頁面,頁面的內容被更改或者本來存在的頁面刪除。對於爬蟲來說,並非將網頁抓取到本地就算完成任務,也要體現出網際網路這種動態性。本地下載的網頁可被看做是網際網路頁的鏡像,爬蟲要儘可能保證其一致性。可以假設一種情況:某 個網頁已被刪除或者內容做出重大變動,而搜尋引擎對此惘然無知,仍然按其舊有內容排序,將其作為搜尋結果提供給用記,其用戶體驗度之糟糕不言而喻。所以對於已經爬取的網頁,爬蟲還要負責保持其內容和網際網路頁面內容的同步,這取決於爬蟲所彩用的網頁更新策略。網頁更新策略的任務是要決定何時重新爬取之前已經下載過和網頁,以儘可能使得本地下載網頁和網際網路原始頁面內容保持一致。常用的網頁更新策略有三種:歷史參考策略,用戶體驗度策略和聚類抽樣策略。

(1)什麼是歷史參考策略?

歷史參考策略是最直觀的一種更新策略,它建立於如下假設之上:過去頻繁更新的網頁,那麼將來也會頻繁更新,所以為了預估某個網頁何時進行更新,可以通過參考其歷史更新情況來做出決定。

從這一點可以看出,我們網站的更新一定要有規律的進行,這樣才能讓搜尋引擎蜘蛛更好的來關注你的網站,把握你的網站,很多人在更新網站的時候,不知道為什麼要做規律性的更新,這就是真正存在的原因。

(2)什麼是用戶體驗度策略?

這個很明顯,大家都知道。一般來說,搜尋引擎用戶提交查詢結果後,相關的搜尋結果可能成千上萬,而用戶沒有耐心去查看排在後面的搜尋結果,往往只盾前三頁搜尋內容,用戶體驗策略就是利用搜尋引擎用戶的這個特點來設計更新策略的。

(3)聚類抽樣策略

上面介紹的兩種網頁更新策略嚴重依賴網頁的歷史更新信息,因為這是能夠進行後續計算的基礎。但在現實中為每個網頁保存歷史信息,搜尋系統會增加 額外的負擔。從另外一個角度考慮,如果是首次爬取的網頁,因為沒有歷史信息,所以也就無法按照這兩種思路去預估其更新周期,聚類抽樣,策略即是為了解決上述缺點而提出的。網頁一般具有一些屬性,根據這些屬性可以預測其更新周期,具有相信屬性的網頁,其更新周期也是類似的。

通過以上對搜尋引擎蜘蛛的爬取過程以及爬取策略進行了簡單的了解之後,你是否應該有些考慮了?試著對自己的網站進行改變了?以上的一些原因說明了搜尋引擎的更新是有規律以及有章法進行的,要想更能適應搜尋引擎的更新原則和蜘蛛爬取原則,我們就應該從更基礎的入手去進行全面的分析和總結。

相關文章

  1. 讓搜尋引擎蜘蛛正常抓取網站

    該經驗為基礎知識,如果感覺有用,投一張票 讓搜尋引擎蜘蛛正常抓取網站 影響蜘蛛抓取的因素(flash.cookies,javascript.需要登陸.框架.動態URL.session ID.各種跳轉) ...
  2. 如何解決百度蜘蛛只爬取首頁的問題

    我們看網站日誌的時候不能只是看搜尋引擎的日誌爬取的頻率和返回的http碼!要想了解搜尋引擎,就必須從它的動態看起,就是要看它一系列都抓取了什麼,最長見的問題就是百度蜘蛛只爬取首頁的問題,很多站長沒有察 ...
  3. 百度不收錄原因分析之蜘蛛spider抓取篇

    目前百度spider抓取新連結的途徑有兩個,一是主動出擊發現抓取,二就是從百度站長平台的連結提交工具中獲取數據,其中通過主動推送功能"收"上來的數據最受百度spider的歡迎.對於 ...
  4. 怎樣查看搜尋引擎蜘蛛的抓取記錄

    網站日誌分析,加快網站優化速度 步驟/方法 什麼是搜尋引擎蜘蛛?搜尋引擎蜘蛛其實是搜尋引擎的一個自動程序,像蜘蛛一樣在網上爬來爬去,所以就稱之為搜尋引擎蜘蛛.它的作用是訪問網際網路上的html網頁,建立 ...
  5. 分析蜘蛛爬取網頁的優先方式

    1.進步頁面蜘蛛爬取率:大師知道蜘蛛爬取網頁分為廣度優先和深度優先,豈論是那種行動靠的但凡站內連結的公正組織,以是這一條的傳染感動大師理應讀比較懂得,只要進步了蜘蛛爬取頁面率高,威力包管你能更好的泡蜘 ...
  6. 搜尋引擎蜘蛛爬行原理、對網站抓取規律是什麼?

    搜尋引擎蜘蛛我們通常稱它為機器人,是一種能夠自己抓取網站,下載網頁的程序.它可以訪問網際網路上的網頁.圖片.視頻等內容,喜歡收集對用戶有用的內容,而且如果他覺的你好的話,會定期來看你哦,我們要做的事情就 ...
  7. 怎樣吸引搜尋引擎蜘蛛進行頁面的抓取

    相信各位博主都對搜尋引擎蜘蛛有所耳聞,搜尋引擎蜘蛛主要是來抓取網站中內容的一個系統稱呼大多數的站長都稱之為蜘蛛,對於建站做SEO優化我們就應該學會如何吸引蜘蛛來多多光臨我們的網站進行頁面的抓取. 步驟 ...
  8. 面對搜尋引擎蜘蛛的更新策略

    正常情況下,所有新發現的連結都會進行抓取 方法/步驟 正常情況下,所有新發現的連結都會進行抓取,蜘蛛抓取(周期性) 頁面過濾 (1域名歷史 用百度搜尋域名 看有沒有留下痕跡 根域名 不帶www 可以變 ...
  9. 百度蜘蛛爬取的規律是什麼

    百度蜘蛛是如何爬取的 第一,百度蜘蛛極為活躍,經常看看你的伺服器日誌,你就懷發現百度蜘蛛抓取的頻率和數量都非常大.百度蜘蛛幾乎每天都會訪問我的論壇,並且至少抓取幾十個網頁.我的論壇只開通了不到一個月, ...
  10. 搜尋引擎抓取策略

    1.大站點優先 大站點屬性:PR值高:外鏈多:內容質量高:抓取速率快(有著穩定的伺服器/良好的網站結構/優秀的用戶體驗/內容質量高/),抓取頻率高,有些甚至7x24小時不間斷 利用策略 :將新站點地址 ...
  11. FXCM簡單分析股市形態之「死蜘蛛」

    股市中的形態多種多樣,每一種形態都是需要大家去認真分析的,這裡主要給大家介紹一下暴跌的 前兆死蜘蛛形態.死蜘蛛的形態在股價經過一輪的上漲後,往往會在高位震盪後均線系統中出現死叉並且會很快速向下發散,然 ...
  12. Domino簡單分析當莊家震倉幸福池時的操作方法

    股市行情變化無常,誰都無法想到下一步莊家的決策是怎樣的,這就要靠大家敏銳的思維能力去辨別了,但是要知道股市行情在怎麼變化也就那個樣子,也不會脫離軌道,所以對於有些人來說還是能判斷出來的. 對於莊家震倉 ...
  13. 簡單分析什麼是SQL注入漏洞

    現在很多人在入侵的過程中基本都是通過SQL注入來完成的,但是有多少人知道為什麼會有這樣的注入漏洞呢?有的會隨口說著對於字符的過濾不嚴造成的.但是事實是這樣嗎?我們學這些,不僅要知其然,更要知其所以然! ...
  14. fxcm簡單分析K線形態低價配的判斷和應用方法

    股市形態各異,不同的股市形態也就代表著不同的股市特徵,進而就導致了股市後來的發展趨勢,這些都是一環扣一環,環環相連的.股市的形態特徵其實也就是有K線的趨勢變化引起的,所以也常說是K線的形態. 股市中有 ...
  15. 太陽能路燈和電路燈簡單分析

    太陽能路燈是採用晶體矽太陽能電池供電,免維護閥控式密封蓄電池(膠體電池)儲存電能,超高亮LED燈具作為光源,並由智能化充放電控制器控制,用於代替傳統公用電力照明的路燈. 1.無需鋪設線纜,安裝簡單,只 ...
  16. 怎麼分析競爭對手定製自己的優化策略

    外部連結 分析競爭對手的外部連結,但如果競爭對手是黑帽手法留言板.博客群發,你就別學習.因為很可能他的權重高不被K,你的就被K了,所以你要分析的競爭對手的自然連結.優質連結.連結瞄文字.連結誘餌等.經 ...
  17. 怎麼查看搜尋引擎蜘蛛有沒有來過網站

    搜尋引擎蜘蛛又叫網絡爬蟲,是搜尋引擎用於抓取網際網路上的網頁而開發的程序.該程序在網際網路上爬行極像蜘蛛而被命名蜘蛛.我們做網站需要被搜尋引擎收錄必須要先被蜘蛛抓取過,下面來講解一下怎麼查看搜尋引擎蜘蛛有 ...
  18. 如何簡單分析自己的性格各方面測試

    這是一個小測試,通過動物九宮格進行的分析.當然這是基於,你知道這些動物的情況下進行的.該測試只作為一個參考 工具/原料 一支筆一張紙 方法/步驟 首先將以下動物填入如圖所示的九宮格中: 豬.羊.兔.虎 ...
  19. python使用requests爬取網頁出現中文亂碼

    在python中,若使用requests庫來抓取網頁,當遇到中文頁面時,容易出現亂碼問題.這是由於字符編碼問題引起的. 在requests中有提供相應的辦法,通過指定encoding,基本可以解決問題 ...
  20. 簡單分析家用淨水器品牌

    飲水機似乎現在也逐漸被淨水器替代了.淨水器最早使用據工業實驗上,現在淨水器也逐漸的家用化.淨水器的種類和品牌有很多,不同的家用淨水器價格上也是存在一定的差異,這裡我們就簡單的說說2013年家用淨水器價 ...