很多人不是很了解搜索引擎爬蟲是什么,下面就介紹一下,一起來看看一個優秀的搜索引擎爬蟲都具有哪些特性呢?
*一,友好性
爬蟲的友好性包含兩方面的含義:一是保護網站的部分私密性,另外是減少被抓取網站的網絡負載。
爬蟲抓取的對象是各種類型的網站,對于網站擁有者來說,有些內容并不希望被所有人搜索到,所以需要設定協議,來告知爬蟲哪些內容是不允許抓取的,目前有兩種主流的方法可達此目的,爬蟲禁抓協議和網頁禁抓標記。
*二,高性能
互聯網的網頁數量龐大如海,所以爬蟲的性能至關重要。這里的性能主要是指爬蟲下載網頁的抓取速度,常見的評價方式是以爬蟲每秒能夠下載的網頁數量作為性能指標,單位時間能夠下載的網頁數zui越多,則爬蟲的性能越高。
要提高爬蟲的性能,在設計時程序訪問磁盤的操作方法及其體實現時數據結構的選擇很關鍵。比如對于待抓取URL隊列和已抓取URL隊列,因為URL數量非常大,不同實現方式性能表現迥異,所以高效的數據結構對于爬蟲性能影響很大。
*三,可擴展性
如上所述,爬蟲需要抓取的網頁數zui巨大,即使單個爬蟲的性能很高,要將所有網頁都下載到本地,仍然需要相當長的時間周期,為了能夠盡可能縮短抓取周期,爬蟲系統應該有很好的可擴展性,即很容易通過增加抓取服務器和爬蟲數量來達到此目的。
目前實用的大型網絡爬蟲一定是分布式運行的,即多臺服務器專做抓取,每臺服務器部署多個爬蟲,每個爬蟲多線程運行,通過多種方式增加并發性。對于巨型的搜索引擎服務商來說,可能還要在全球范圍、不同地域分別部署數據中心,爬蟲也被分配到不同的數據中心,這樣對于提高爬蟲系統的整體性能是很有幫助的。