爬行器
爬行器
爬行器(Spider)指在 Web 上漫遊,尋找要添加進搜索引擎索引中的列表。
爬行器有時也稱為 Web 爬行榜(Webcrawler)或機器人。針對有機列表優化頁面也就是為了吸引爬行器的注意。
網路爬蟲是通過網頁的鏈接地址來尋找網頁,從網站某一個頁面(通常是首頁)開始,讀取網頁的內容,找到在網頁中的其他鏈接地址,然後通過這些鏈接地址尋找下一個網頁,這樣一直循環下去,直到把這個網站所有的網頁都抓取完為止。
如果把整個網際網路當成一個網站,那麼網路爬蟲就可以用這個原理把網際網路上所有的網頁都抓取下來。
Google為了獲取上億的網頁,設計了一個分散式的爬行系統。一個URL伺服器將URL列表提供給網路爬行器。每個爬行器同時保持大約300個網路連接。在最高速度的時候,通過4個爬行器,該系統可以每秒鐘獲取超過100個網頁。
影響爬行速度的一個重要因素是DNS查詢,為此每個爬行器都要維護一個自己的DNS緩衝。這樣每個連接都處於不同的狀態,包括DNS查詢、連到主機、發送請求、得到響應。這些因素綜合起來使得爬行器變成一個非常複雜的系統。它通過非同步輸入/輸出來管理事件,通過一定數量的隊列來管理獲取網頁過程中的狀態遷移。