全國服務熱線:400-080-4418
網絡蜘蛛即Web Spider,是一個很形象的名字。把互聯網比喻成一個蜘蛛網,那么Spider就是在網上爬來爬去的蜘蛛。網絡蜘蛛是通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。如果把整個互聯網當成一個網站,那么網絡蜘蛛就可以用這個原理把互聯網上所有的網頁都抓取下來。
對于搜索引擎來說,要抓取互聯網上所有的網頁幾乎是不可能的,從目前公布的數據來看,容量大的搜索引擎也不過是抓取了整個網頁數量的百分之四十左右。這其中的原因一方面是抓取技術的瓶頸,無法遍歷所有的網頁,有許多網頁無法從其它網頁的鏈接中找到;另一個原因是存儲技術和處理技術的問題,如果按照每個頁面的平均大小為20K計算,100億網頁的容量是100×2000G字節,即使能夠存儲,下載也存在問題。同時,由于數據量太大,在提供搜索時也會有效率方面的影響。因此,許多搜索引擎的網絡蜘蛛只是抓取那些重要的網頁,而在抓取的時候評價重要性主要的依據是某個網頁的鏈接深度。
在抓取網頁的時候,網絡蜘蛛一般有兩種策略:廣度優先和深度優先。廣度優先是指網絡蜘蛛會先抓取起始網頁中鏈接的所有網頁,然后再選擇其中的一個鏈接網頁,繼續抓取在此網頁中鏈接的所有網頁。這是常用的方式,因為這個方法可以讓網絡蜘蛛并行處理,提高其抓取速度。深度優先是指網絡蜘蛛會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續跟蹤鏈接。這個方法有個優點是網絡蜘蛛在設計的時候比較容易。兩種策略的區別,下圖的說明會更加明確。
由于不可能抓取所有的網頁,有些網絡蜘蛛對一些不太重要的網站,設置了訪問的層數。例如,在上圖中,A為起始網頁,屬于0層,B、C、D、E、F屬于第1層,G、H屬于第2層,I屬于第3層。如果網絡蜘蛛設置的訪問層數為2的話,網頁I是不會被訪問到的。這也讓有些網站上一部分網頁能夠在搜索引擎上搜索到,另外一部分不能被搜索到。對于網站設計者來說,扁平化的網站結構設計有助于搜索引擎抓取其更多的網頁。
網絡蜘蛛在訪問網站網頁的時候,經常會遇到加密數據和網頁權限的問題,有些網頁是需要會員權限才能訪問。當然,網站的所有者可以通過協議讓網絡蜘蛛不去抓取,但對于一些出售報告的網站,他們希望搜索引擎能搜索到他們的報告,但又不能完全免費的讓搜索者查看,這樣就需要給網絡蜘蛛提供相應的用戶名和密碼。網絡蜘蛛可以通過所給的權限對這些網頁進行網頁抓取,從而提供搜索。而當搜索者點擊查看該網頁的時候,同樣需要搜索者提供相應的權限驗證。
Copyright 2008 © 上海網至普信息科技有限公司 All rights reserved. 滬ICP備11006570號-13 滬公網安備 31011402007386號