咨詢熱線:13313028229
售后:0312-6791400
售后:0312-6791126
網(wǎng)址:www.o4l6k.com
地址:保定朝陽大街國貿(mào)大廈8樓808室
總鏈接庫和抓取策略說完了后,我們就要對搜索引擎最重要的一部分來進行一個仔細的講解了,換個說法,互聯(lián)網(wǎng)上的信息都是魚,抓魚需要有漁網(wǎng)和魚簍,而接下來要講的爬蟲和下載系統(tǒng)就對應(yīng)著漁網(wǎng)和魚簍了,明白了SE的爬蟲和存儲機制,在我們來說,開展SEO工作就會少走很多的彎路。
爬蟲
爬蟲是根據(jù)指定URL下載網(wǎng)頁內(nèi)容的程序或腳本,一般搜索引擎均采用分布式爬蟲架構(gòu)。分布式爬蟲由數(shù)據(jù)中心、分布式抓取服務(wù)器、分布式爬蟲程序組成,數(shù)據(jù)中心由多臺抓取服務(wù)器組成,每臺抓取服務(wù)器可承載多個爬蟲程序。
常見分布式架構(gòu)有主從式分布爬蟲和對等式分布爬蟲。
主從式分布爬蟲相當(dāng)于只有一個URL分配服務(wù)器,將全互聯(lián)網(wǎng)的URL分配給若干個抓取服務(wù)器進行下載。這種架構(gòu)明顯對URL分配服務(wù)器性能要求很高,面對互聯(lián)網(wǎng)大數(shù)據(jù),很容易出現(xiàn)系統(tǒng)瓶頸。
對等式分布爬蟲沒有URL分配服務(wù)器,每臺抓取服務(wù)器負責(zé)特定域名集合下URL的抓取。對互聯(lián)網(wǎng)域名分集可通過哈希取模或一致性哈希:
哈希取模指對于n臺抓取服務(wù)器,首先對域名進行哈希計算,得到的值對n取模,得到余數(shù)即為該域名應(yīng)分配的服務(wù)器編號。
例如,假設(shè)有5臺抓取服務(wù)器,對應(yīng)編號為0、1、2、3、4,對域名進行哈希計算后得到的值為16,16對5取模得到余數(shù)1,即該域名下URL應(yīng)交由1號服務(wù)器抓取。
然而,這種模式存在缺陷,在某臺抓取服務(wù)器宕機或由于URL增加導(dǎo)致服務(wù)器平均負載增加而需要增加抓取服務(wù)器時,取模的n就需要改變。這就意味著整個系統(tǒng)要進行重新分配,將導(dǎo)致資源的浪費。
一致性哈希指對域名進行哈希計算,映射為一個在0~232之間的某個數(shù),將哈希范圍首尾相接,即認為數(shù)值0和232重合,可以將其假想成一個有序的環(huán)狀序列,每臺服務(wù)器負責(zé)某個數(shù)值段。
假設(shè)本站域名經(jīng)哈希后落入2號服務(wù)器執(zhí)行抓取,而2號服務(wù)器出現(xiàn)宕機,則繼續(xù)按順時針查找,將URL交由第一個碰到的服務(wù)器,即3號服務(wù)器,直至2號服務(wù)器恢復(fù)正常。
由于分布式爬蟲結(jié)構(gòu),故同一網(wǎng)站會出現(xiàn)很多不同IP的蜘蛛爬取記錄,這是協(xié)同抓取系統(tǒng)中很正常的事。部分SEOer認為不同IP段意味著不同權(quán)重的蜘蛛,其中某字段IP蜘蛛為降權(quán)蜘蛛。
抓取系統(tǒng)可能會對URL進行權(quán)重賦值,以便于確定抓取順序。然而,這個權(quán)重值也僅僅用于抓取系統(tǒng),網(wǎng)頁檢索排序有更復(fù)雜的權(quán)重規(guī)則。故,降權(quán)蜘蛛一說不成立。