JoelLee於2017年10月10日更新的文章
對許多人來說,谷歌就是互聯網。它是尋找新網站的起點,可以說是自互聯網本身以來最重要的發明。沒有搜索引擎,大眾將無法訪問新的網絡內容。
但是你知道搜索引擎是怎麼工作的嗎?每個搜索引擎都有三個主要功能:爬網(發現內容)、索引(跟蹤和存儲內容)和檢索(在用戶查詢搜索引擎時獲取相關內容)。
爬行是一切開始的地方:獲取有關網站的數據。
這包括掃描網站並收集每個頁面的詳細信息:標題、圖像、關鍵字、其他鏈接頁面等。不同的爬蟲也可能會查找不同的詳細信息,如頁面佈局、廣告放置的位置、鏈接是否塞滿等。
但是一個網站是如何被爬網的呢?一個自動化的機器人(稱為“蜘蛛”)儘可能快地訪問一頁又一頁,使用頁面鏈接找到下一步要去的地方。即使在早期,谷歌的蜘蛛每秒也能閱讀幾百頁。現在,已經有幾千了。
當web爬蟲訪問頁面時,它會收集頁面上的每個鏈接,並將其添加到其下一個要訪問的頁面列表中。它將轉到列表中的下一頁,收集該頁面上的鏈接,然後重複。Web爬蟲也會偶爾重訪過去的頁面,以查看是否發生了任何更改。
這意味著從索引站點鏈接的任何站點最終都將被爬網。有些站點的爬網頻率更高,有些站點的爬網深度更大,但有時如果站點的頁面層次結構太複雜,爬網程序可能會放棄。
瞭解網絡爬蟲工作方式的一種方法是自己構建一個。我們已經編寫了一個關於在PHP中創建基本web爬蟲的教程,所以如果您有任何編程經驗,請檢查一下。
請注意,頁面可以標記為“noindex”,這就像要求搜索引擎跳過索引一樣。互聯網上未編入索引的部分被稱為“deepweb”,有些網站,比如那些託管在tornetwork上的網站,不能被搜索引擎編入索引。(什麼是TOR和洋蔥路由?)
索引是指對爬網中的數據進行處理並將其放入數據庫中。
想象一下,列出你擁有的所有書籍、它們的出版商、作者、它們的類型、它們的頁數等等。爬行是指你梳理每本書,而索引是指你將它們記錄到你的列表中。
現在想象一下,這不僅僅是一個裝滿書的房間,而是世界上所有的圖書館。這是谷歌的一個小規模版本,谷歌將所有這些數據存儲在擁有數千PB驅動器的龐大數據中心。
以下是谷歌一個搜索數據中心的內幕:
檢索是指搜索引擎處理您的搜索查詢並返回與您的查詢最相關的頁面。
大多數搜索引擎通過它們的檢索方法來區分自己:它們使用不同的標準來選擇最適合您所要查找的內容的頁面。這就是為什麼谷歌和必應的搜索結果各不相同,也就是為什麼Wolfram Alpha如此獨特有用。
排名算法檢查搜索查詢,以確定每一個頁面的相關性。由於其複雜性,公司將其排名算法作為專利行業機密。一個更好的算法可以轉化為更好的搜索體驗。
他們也不希望網頁創作者玩弄這個系統,不公平地爬到搜索結果的頂端。如果一個搜索引擎的內部方**被洩露出去,各種各樣的人肯定會利用這些知識損害像你我這樣的搜索者。
當然,搜索引擎開發是可能的,但現在已經不那麼容易了。
最初,搜索引擎根據網頁上出現的關鍵字頻率來對網站進行排序,從而導致“關鍵詞填充”——用關鍵詞填充頁面,胡說八道。
然後出現了鏈接重要性的概念:搜索引擎對有大量傳入鏈接的站點進行估價,因為它們將站點流行度解釋為相關性。但這導致了網絡上到處都是鏈接垃圾信息。如今,搜索引擎根據鏈接站點的“權威性”對鏈接進行加權。搜索引擎對來自**機構的鏈接比鏈接目錄的鏈接更看重。
如今,排名算法比以往任何時候都更加神祕,“搜索引擎優化”也不那麼重要。好的搜索引擎排名現在來自高質量的內容和偉大的用戶體驗。
啊,現在有個有趣的問題。答案是“語義”:頁面內容的含義。您可以在我們對語義標記及其未來影響的概述中瞭解更多。
但要點是這樣的。
現在,你可以搜索“無麩質餅乾”,但結果可能會返回無麩質餅乾食譜。相反,你可能會發現一些常規的餅乾食譜上寫著“這個食譜不含麩質”,它有正確的關鍵詞,但卻有錯誤的含義。
使用語義,您可以搜索cookie食譜,然後刪除某些成分:麵粉、堅果等。您還可以將結果縮小到只包含準備時間小於30分鐘的食譜,並查看分數為4/5或更高的食譜。那會很酷的,對吧?我們就在那裡!
還不知道搜索引擎是怎麼工作的?看看谷歌如何解釋這個過程:
如果你發現這很有趣,你可能也想了解圖像搜索引擎是如何工作的。
圖片來源:普里霍多夫/攝
... 聽音上是這麼說的。開發人員顯然希望突出顯示搜尋引擎的工作方式:只需鍵入關鍵字,然後瀏覽搜尋結果。以下是網站的統計資料: ...
谷歌是我們大多數人的預設搜尋引擎。但你知道你可以透過搜尋引擎捐贈給慈善機構,甚至透過搜尋賺取加密貨幣嗎?看看這些很酷的谷歌替代品。 ...
當大多數人想到搜尋網頁時,他們會把注意力集中在自己身上。我們知道我們在找什麼,而且,一般來說,我們知道如何找到它。弄清楚別人是如何在網上搜索的難度要大得多,尤其是現在的網站非常關注搜尋引擎排名。 ...
Chrome的Omnibox是一個位址列和一個搜尋框。在搜尋框中輸入一個搜尋查詢而不是一個網站的URL,你將在Google中看到相關的搜尋結果,因為這是Chrome的預設搜尋引擎。 ...
... 谷歌搜尋索引整個網際網路,一次一頁。網路爬蟲(也稱為蜘蛛)是一種網際網路機器人,它系統地在網際網路頁面上搜索並索引內容。索引內容是使用搜索引擎找到的。 ...
最近好像每個人都在谷歌上搜索。畢竟,它是一個頂級搜尋引擎。有了這些,Google提供了一些增強的搜尋功能,這些功能可以非常有助於更容易、更快地找到你需要的東西。 ...
...儲存和協作。儘管如此,許多作家不知道他們可以最佳化搜尋引擎最佳化與谷歌文件的內容!在本文中,我們將向您展示如何。 ...