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