seo優(yōu)化公司了解入門爬蟲技術(shù)原理三

2023-10-09    分類: 網(wǎng)站建設(shè)

優(yōu)秀爬蟲的特性

優(yōu)秀爬蟲的特性對(duì)于不同的應(yīng)用來說,可能實(shí)現(xiàn)的方式各有差異,但是實(shí)用的爬蟲都應(yīng)該具備以下特性:

1.高性能

互聯(lián)網(wǎng)的網(wǎng)頁數(shù)量是海量的,所以爬蟲的性能至關(guān)重要。這里的性能主要是指爬蟲下載網(wǎng)頁的抓取速度,常見的評(píng)價(jià)方式是以爬蟲每秒能夠下載的網(wǎng)頁數(shù)量作為性能指標(biāo),單位時(shí)間能夠下載的網(wǎng)頁數(shù)量越多,爬蟲的性能越高。

要提高爬蟲的性能,在設(shè)計(jì)時(shí)程序訪問磁盤的操作方法及具體實(shí)現(xiàn)時(shí)數(shù)據(jù)結(jié)構(gòu)的選擇很關(guān)鍵,比如對(duì)于待抓取URL隊(duì)列和已抓取URL隊(duì)列,因?yàn)閁RL數(shù)量非常大,不同實(shí)現(xiàn)方式性能表現(xiàn)迥異,所以高效的數(shù)據(jù)結(jié)構(gòu)對(duì)于爬蟲性能影響很大。

2.可擴(kuò)展性

即使單個(gè)爬蟲的性能很高,要將所有網(wǎng)頁都下載到本地,仍然需要相當(dāng)長(zhǎng)的時(shí)間周期,為了能夠盡可能縮短抓取周期,爬蟲系統(tǒng)應(yīng)該有很好地可擴(kuò)展性,即很容易通過增加抓取服務(wù)器和爬蟲數(shù)量來達(dá)到此目的。

目前實(shí)用的大型網(wǎng)絡(luò)爬蟲一定是分布式運(yùn)行的,即多臺(tái)服務(wù)器專做抓取。每臺(tái)服務(wù)器部署多個(gè)爬蟲,每個(gè)爬蟲多線程運(yùn)行,通過多種方式增加并發(fā)性。

對(duì)于巨型的搜索引擎服務(wù)商來說,可能還要在全球范圍、不同地域分別部署數(shù)據(jù)中心,爬蟲也被分配到不同的數(shù)據(jù)中心,這樣對(duì)于提高爬蟲系統(tǒng)的整體性能是很有幫助的。

3.健壯性

爬蟲要訪問各種類型的網(wǎng)站服務(wù)器,可能會(huì)遇到很多種非正常情況:比如網(wǎng)頁HTML編碼不規(guī)范、 被抓取服務(wù)器突然死機(jī),甚至爬蟲陷阱等。爬蟲對(duì)各種異常情況能否正確處理非常重要,否則可能會(huì)不定期停止工作,這是無法忍受的。

從另外一個(gè)角度來講,假設(shè)爬蟲程序在抓取過程中死掉,或者爬蟲所在的服務(wù)器宕機(jī),健壯的爬蟲應(yīng)能做到:再次啟動(dòng)爬蟲時(shí),能夠恢復(fù)之前抓取的內(nèi)容和數(shù)據(jù)結(jié)構(gòu),而不是每次都需要把所有工作完全從頭做起,這也是爬蟲健壯性的一種體現(xiàn)。

4.友好性

爬蟲的友好性包含兩方面的含義:一是保護(hù)網(wǎng)站的部分私密性;另一是減少被抓取網(wǎng)站的網(wǎng)絡(luò)負(fù)載。爬蟲抓取的對(duì)象是各類型的網(wǎng)站,對(duì)于網(wǎng)站所有者來說,有些內(nèi)容并不希望被所有人搜到,所以需要設(shè)定協(xié)議,來告知爬蟲哪些內(nèi)容是不允許抓取的。目前有兩種主流的方法可達(dá)到此目的:爬蟲禁抓協(xié)議和網(wǎng)頁禁抓標(biāo)記。

爬蟲禁抓協(xié)議指的是由網(wǎng)站所有者生成一個(gè)指定的文件robot.txt,并放在網(wǎng)站服務(wù)器的根目錄下,這個(gè)文件指明了網(wǎng)站中哪些目錄下的網(wǎng)頁是不允許爬蟲抓取的。具有友好性的爬蟲在抓取該網(wǎng)站的網(wǎng)頁前,首先要讀取robot.txt文件,對(duì)于禁止抓取的網(wǎng)頁不進(jìn)行下載。

網(wǎng)頁禁抓標(biāo)記一般在網(wǎng)頁的HTML代碼里加入meta name=”robots”標(biāo)記,content字段指出允許或者不允許爬蟲的哪些行為??梢苑譃閮煞N情形:一種是告知爬蟲不要索引該網(wǎng)頁內(nèi)容,以noindex作為標(biāo)記;另外一種情形是告知爬蟲不要抓取網(wǎng)頁所包含的鏈接,以nofollow作為標(biāo)記。通過這種方式,可以達(dá)到對(duì)網(wǎng)頁內(nèi)容的一種隱私保護(hù)。

遵循以上協(xié)議的爬蟲可以被認(rèn)為是友好的,這是從保護(hù)私密性的角度來考慮的;另外一種友好性則是,希望爬蟲對(duì)某網(wǎng)站的訪問造成的網(wǎng)路負(fù)載較低。

爬蟲一般會(huì)根據(jù)網(wǎng)頁的鏈接連續(xù)獲取某網(wǎng)站的網(wǎng)頁,如果爬蟲訪問網(wǎng)站頻率過高,會(huì)給網(wǎng)站服務(wù)器造成很大的訪問壓力,有時(shí)候甚至?xí)绊懢W(wǎng)站的正常訪問,造成類似DOS攻擊的效果。

為了減少網(wǎng)站的網(wǎng)絡(luò)負(fù)載,友好性的爬蟲應(yīng)該在抓取策略部署時(shí)考慮每個(gè)被抓取網(wǎng)站的負(fù)載,在盡可能不影響爬蟲性能的情況下,減少對(duì)單一站點(diǎn)短期內(nèi)的高頻訪問。

名稱欄目:seo優(yōu)化公司了解入門爬蟲技術(shù)原理三
網(wǎng)站URL:http://www.bm7419.com/news26/284926.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、關(guān)鍵詞優(yōu)化、軟件開發(fā)網(wǎng)站收錄、面包屑導(dǎo)航、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)