㈠ 百度搜索上的網站是從哪裡搜集的
像網路,google這種搜索引擎,是用一種類似於網路蜘蛛的軟體把互聯網上的網頁全部搜索到它的資料庫去。
給你一點資料你看看:
在浩如煙海的Internet上,特別是其上的Web(World Wide Web萬維網)上,不會搜索,就不會上網。網蟲朋友們,你了解搜索引擎嗎?它們是怎麼工作的?你都使用哪些搜索引擎?今天我就和大家聊聊搜索引擎的話題。
一、搜索引擎的分類
獲得網站網頁資料,能夠建立資料庫並提供查詢的系統,我們都可以把它叫做搜索引擎。按照工作原理的不同,可以把它們分為兩個基本類別:全文搜索引擎(FullText Search Engine)和分類目錄Directory)。
全文搜索引擎的資料庫是依靠一個叫「網路機器人(Spider)」或叫「網路蜘蛛(crawlers)」的軟體,通過網路上的各種鏈接自動獲取大量網頁信息內容,並按以定的規則分析整理形成的。Google、網路都是比較典型的全文搜索引擎系統。
分類目錄則是通過人工的方式收集整理網站資料形成資料庫的,比如雅虎中國以及國內的搜狐、新浪、網易分類目錄。另外,在網上的一些導航站點,也可以歸屬為原始的分類目錄,比如「網址之家」。
全文搜索引擎和分類目錄在使用上各有長短。全文搜索引擎因為依靠軟體進行,所以資料庫的容量非常龐大,但是,它的查詢結果往往不夠准確;分類目錄依靠人工收集和整理網站,能夠提供更為准確的查詢結果,但收集的內容卻非常有限。為了取長補短,現在的很多搜索引擎,都同時提供這兩類查詢,一般對全文搜索引擎的查詢稱為搜索「所有網站」或「全部網站」,比如Google的全文搜索(http://www.google.com/intl/zh-CN/);把對分類目錄的查詢稱為搜索「分類目錄」或搜索「分類網站」,比如新浪搜索和雅虎中國搜索(http://cn.search.yahoo.com/dirsrch/)。
在網上,對這兩類搜索引擎進行整合,還產生了其它的搜索服務,在這里,我們權且也把它們稱作搜索引擎,主要有這兩類:
⒈元搜索引擎(META Search Engine)。這類搜索引擎一般都沒有自己網路機器人及資料庫,它們的搜索結果是通過調用、控制和優化其它多個獨立搜索引擎的搜索結果並以統一的格式在同一界面集中顯示。元搜索引擎雖沒有「網路機器人」或「網路蜘蛛」,也無獨立的索引資料庫,但在檢索請求提交、檢索介面代理和檢索結果顯示等方面,均有自己研發的特色元搜索技術。比如「metaFisher元搜索引擎」
(http://www.hsfz.net/fish/),它就調用和整合了Google、Yahoo、AlltheWeb、網路和OpenFind等多家搜索引擎的數據。
⒉集成搜索引擎(All-in-One Search Page)。集成搜索引擎是通過網路技術,在一個網頁上鏈接很多個獨立搜索引擎,查詢時,點選或指定搜索引擎,一次輸入,多個搜索引擎同時查詢,搜索結果由各搜索引擎分別以不同頁面顯示,比如「網際瑞士軍刀」(http://free.okey.net/%7Efree/search1.htm)。
二、搜索引擎的工作原理
全文搜索引擎的「網路機器人」或「網路蜘蛛」是一種網路上的軟體,它遍歷Web空間,能夠掃描一定IP地址范圍內的網站,並沿著網路上的鏈接從一個網頁到另一個網頁,從一個網站到另一個網站採集網頁資料。它為保證採集的資料最新,還會回訪已抓取過的網頁。網路機器人或網路蜘蛛採集的網頁,還要有其它程序進行分析,根據一定的相關度演算法進行大量的計算建立網頁索引,才能添加到索引資料庫中。我們平時看到的全文搜索引擎,實際上只是一個搜索引擎系統的檢索界面,當你輸入關鍵詞進行查詢時,搜索引擎會從龐大的資料庫中找到符合該關鍵詞的所有相關網頁的索引,並按一定的排名規則呈現給我們。不同的搜索引擎,網頁索引資料庫不同,排名規則也不盡相同,所以,當我們以同一關鍵詞用不同的搜索引擎查詢時,搜索結果也就不盡相同。
和全文搜索引擎一樣,分類目錄的整個工作過程也同樣分為收集信息、分析信息和查詢信息三部分,只不過分類目錄的收集、分析信息兩部分主要依靠人工完成。分類目錄一般都有專門的編輯人員,負責收集網站的信息。隨著收錄站點的增多,現在一般都是由站點管理者遞交自己的網站信息給分類目錄,然後由分類目錄的編輯人員審核遞交的網站,以決定是否收錄該站點。如果該站點審核通過,分類目錄的編輯人員還需要分析該站點的內容,並將該站點放在相應的類別和目錄中。所有這些收錄的站點同樣被存放在一個「索引資料庫」中。用戶在查詢信息時,可以選擇按照關鍵詞搜索,也可按分類目錄逐層查找。如以關鍵詞搜索,返回的結果跟全文搜索引擎一樣,也是根據信息關聯程度排列網站。需要注意的是,分類目錄的關鍵詞查詢只能在網站的名稱、網址、簡介等內容中進行,它的查詢結果也只是被收錄網站首頁的URL地址,而不是具體的頁面。分類目錄就像一個電話號碼薄一樣,按照各個網站的性質,把其網址分門別類排在一起,大類下面套著小類,一直到各個網站的詳細地址,一般還會提供各個網站的內容簡介,用戶不使用關鍵詞也可進行查詢,只要找到相關目錄,就完全可以找到相關的網站(注意:是相關的網站,而不是這個網站上某個網頁的內容,某一目錄中網站的排名一般是按照標題字母的先後順序或者收錄的時間順序決定的)。
搜索引擎並不真正搜索互聯網,它搜索的實際上是預先整理好的網頁索引資料庫。
真正意義上的搜索引擎,通常指的是收集了網際網路上幾千萬到幾十億個網頁並對網頁中的每一個詞(即關鍵詞)進行索引,建立索引資料庫的全文搜索引擎。當用戶查找某個關鍵詞的時候,所有在頁面內容中包含了該關鍵詞的網頁都將作為搜索結果被搜出來。在經過復雜的演算法進行排序後,這些結果將按照與搜索關鍵詞的相關度高低,依次排列。
現在的搜索引擎已普遍使用超鏈分析技術,除了分析索引網頁本身的內容,還分析索引所有指向該網頁的鏈接的URL、AnchorText、甚至鏈接周圍的文字。所以,有時候,即使某個網頁A中並沒有某個詞比如「惡魔撒旦」,但如果有別的網頁B用鏈接「惡魔撒旦」指向這個網頁A,那麼用戶搜索「惡魔撒旦」時也能找到網頁A。而且,如果有越多網頁(C、D、E、F……)用名為「惡魔撒旦」的鏈接指向這個網頁A,或者給出這個鏈接的源網頁(B、C、D、E、F……)越優秀,那麼網頁A在用戶搜索「惡魔撒旦」時也會被認為更相關,排序也會越靠前。
搜索引擎的原理,可以看做三步:從互聯網上抓取網頁→建立索引資料庫→在索引資料庫中搜索排序。
從互聯網上抓取網頁
利用能夠從互聯網上自動收集網頁的Spider系統程序,自動訪問互聯網,並沿著任何網頁中的所有URL爬到其它網頁,重復這過程,並把爬過的所有網頁收集回來。
建立索引資料庫
由分析索引系統程序對收集回來的網頁進行分析,提取相關網頁信息(包括網頁所在URL、編碼類型、頁面內容包含的關鍵詞、關鍵詞位置、生成時間、大小、與其它網頁的鏈接關系等),根據一定的相關度演算法進行大量復雜計算,得到每一個網頁針對頁面內容中及超鏈中每一個關鍵詞的相關度(或重要性),然後用這些相關信息建立網頁索引資料庫。
在索引資料庫中搜索排序
當用戶輸入關鍵詞搜索後,由搜索系統程序從網頁索引資料庫中找到符合該關鍵詞的所有相關網頁。因為所有相關網頁針對該關鍵詞的相關度早已算好,所以只需按照現成的相關度數值排序,相關度越高,排名越靠前。
最後,由頁面生成系統將搜索結果的鏈接地址和頁面內容摘要等內容組織起來返回給用戶。
搜索引擎的Spider一般要定期重新訪問所有網頁(各搜索引擎的周期不同,可能是幾天、幾周或幾月,也可能對不同重要性的網頁有不同的更新頻率),更新網頁索引資料庫,以反映出網頁內容的更新情況,增加新的網頁信息,去除死鏈接,並根據網頁內容和鏈接關系的變化重新排序。這樣,網頁的具體內容和變化情況就會反映到用戶查詢的結果中。
互聯網雖然只有一個,但各搜索引擎的能力和偏好不同,所以抓取的網頁各不相同,排序演算法也各不相同。大型搜索引擎的資料庫儲存了互聯網上幾億至幾十億的網頁索引,數據量達到幾千G甚至幾萬G。但即使最大的搜索引擎建立超過二十億網頁的索引資料庫,也只能佔到互聯網上普通網頁的不到30%,不同搜索引擎之間的網頁數據重疊率一般在70%以下。我們使用不同搜索引擎的重要原因,就是因為它們能分別搜索到不同的內容。而互聯網上有更大量的內容,是搜索引擎無法抓取索引的,也是我們無法用搜索引擎搜索到的。
你心裡應該有這個概念:搜索引擎只能搜到它網頁索引資料庫里儲存的內容。你也應該有這個概念:如果搜索引擎的網頁索引資料庫里應該有而你沒有搜出來,那是你的能力問題,學習搜索技巧可以大幅度提高你的搜索能力。