2023-10-09 分類: 網(wǎng)站建設(shè)
優(yōu)秀爬蟲的特性
優(yōu)秀爬蟲的特性對于不同的應(yīng)用來說,可能實現(xiàn)的方式各有差異,但是實用的爬蟲都應(yīng)該具備以下特性:
1.高性能
互聯(lián)網(wǎng)的網(wǎng)頁數(shù)量是海量的,所以爬蟲的性能至關(guān)重要。這里的性能主要是指爬蟲下載網(wǎng)頁的抓取速度,常見的評價方式是以爬蟲每秒能夠下載的網(wǎng)頁數(shù)量作為性能指標(biāo),單位時間能夠下載的網(wǎng)頁數(shù)量越多,爬蟲的性能越高。
要提高爬蟲的性能,在設(shè)計時程序訪問磁盤的操作方法及具體實現(xiàn)時數(shù)據(jù)結(jié)構(gòu)的選擇很關(guān)鍵,比如對于待抓取URL隊列和已抓取URL隊列,因為URL數(shù)量非常大,不同實現(xiàn)方式性能表現(xiàn)迥異,所以高效的數(shù)據(jù)結(jié)構(gòu)對于爬蟲性能影響很大。
2.可擴(kuò)展性
即使單個爬蟲的性能很高,要將所有網(wǎng)頁都下載到本地,仍然需要相當(dāng)長的時間周期,為了能夠盡可能縮短抓取周期,爬蟲系統(tǒng)應(yīng)該有很好地可擴(kuò)展性,即很容易通過增加抓取服務(wù)器和爬蟲數(shù)量來達(dá)到此目的。
目前實用的大型網(wǎng)絡(luò)爬蟲一定是分布式運(yùn)行的,即多臺服務(wù)器專做抓取。每臺服務(wù)器部署多個爬蟲,每個爬蟲多線程運(yùn)行,通過多種方式增加并發(fā)性。
對于巨型的搜索引擎服務(wù)商來說,可能還要在全球范圍、不同地域分別部署數(shù)據(jù)中心,爬蟲也被分配到不同的數(shù)據(jù)中心,這樣對于提高爬蟲系統(tǒng)的整體性能是很有幫助的。
3.健壯性
爬蟲要訪問各種類型的網(wǎng)站服務(wù)器,可能會遇到很多種非正常情況:比如網(wǎng)頁HTML編碼不規(guī)范、 被抓取服務(wù)器突然死機(jī),甚至爬蟲陷阱等。爬蟲對各種異常情況能否正確處理非常重要,否則可能會不定期停止工作,這是無法忍受的。
從另外一個角度來講,假設(shè)爬蟲程序在抓取過程中死掉,或者爬蟲所在的服務(wù)器宕機(jī),健壯的爬蟲應(yīng)能做到:再次啟動爬蟲時,能夠恢復(fù)之前抓取的內(nèi)容和數(shù)據(jù)結(jié)構(gòu),而不是每次都需要把所有工作完全從頭做起,這也是爬蟲健壯性的一種體現(xiàn)。
4.友好性
爬蟲的友好性包含兩方面的含義:一是保護(hù)網(wǎng)站的部分私密性;另一是減少被抓取網(wǎng)站的網(wǎng)絡(luò)負(fù)載。爬蟲抓取的對象是各類型的網(wǎng)站,對于網(wǎng)站所有者來說,有些內(nèi)容并不希望被所有人搜到,所以需要設(shè)定協(xié)議,來告知爬蟲哪些內(nèi)容是不允許抓取的。目前有兩種主流的方法可達(dá)到此目的:爬蟲禁抓協(xié)議和網(wǎng)頁禁抓標(biāo)記。
爬蟲禁抓協(xié)議指的是由網(wǎng)站所有者生成一個指定的文件robot.txt,并放在網(wǎng)站服務(wù)器的根目錄下,這個文件指明了網(wǎng)站中哪些目錄下的網(wǎng)頁是不允許爬蟲抓取的。具有友好性的爬蟲在抓取該網(wǎng)站的網(wǎng)頁前,首先要讀取robot.txt文件,對于禁止抓取的網(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á)到對網(wǎng)頁內(nèi)容的一種隱私保護(hù)。
遵循以上協(xié)議的爬蟲可以被認(rèn)為是友好的,這是從保護(hù)私密性的角度來考慮的;另外一種友好性則是,希望爬蟲對某網(wǎng)站的訪問造成的網(wǎng)路負(fù)載較低。
爬蟲一般會根據(jù)網(wǎng)頁的鏈接連續(xù)獲取某網(wǎng)站的網(wǎng)頁,如果爬蟲訪問網(wǎng)站頻率過高,會給網(wǎng)站服務(wù)器造成很大的訪問壓力,有時候甚至?xí)绊懢W(wǎng)站的正常訪問,造成類似DOS攻擊的效果。
為了減少網(wǎng)站的網(wǎng)絡(luò)負(fù)載,友好性的爬蟲應(yīng)該在抓取策略部署時考慮每個被抓取網(wǎng)站的負(fù)載,在盡可能不影響爬蟲性能的情況下,減少對單一站點(diǎn)短期內(nèi)的高頻訪問。
名稱欄目:seo優(yōu)化公司了解入門爬蟲技術(shù)原理三
網(wǎng)站URL:http://muchs.cn/news26/284926.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、關(guān)鍵詞優(yōu)化、軟件開發(fā)、網(wǎng)站收錄、面包屑導(dǎo)航、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容