Baiduspider在抓(zhuā)取過(guò)程中麵(miàn)對的是一(yī)個超級(jí)復雜(zá)的網(wǎng)絡環境(jìng),為了使(shǐ)係(xì)統(tǒng)可以抓(zhuā)取(qǔ)到盡可能多的有價(jià)值資(zī)源(yuán)並(bìng)保(bǎo)持係(xì)統(tǒng)及(jí)實際(jì)環境(jìng)中頁(yè)麵的一致(zhì)性同(tóng)時不(bù)給網(wǎng)站體驗造成壓力(lì),會(huì)設(shè)計多種(zhǒng)復雜的抓取策(cè)略。以(yǐ)下做簡(jiǎn)單介紹(shào):
1,抓(zhuā)取(qǔ)友(yǒu)好性(xìng)
互聯網(wǎng)資源龐大(dà)的數量(liáng)級(jí),這就(jiù)要求(qiú)抓(zhuā)取(qǔ)係統(tǒng)盡(jìn)可能(néng)的高效利用帶寬,在(zài)有限的硬(yìng)件和帶寬(kuān)資(zī)源下(xià)盡(jìn)可(kě)能多(duō)的抓取到(dào)有價值資(zī)源(yuán)。這就(jiù)造(zào)成了(liǎo)另一(yī)個問題(tí),耗(hào)費被(bèi)抓(zhuā)網(wǎng)站(zhàn)的(dí)帶寬造(zào)成(chéng)訪問壓(yā)力(lì),如果程度(dù)過(guò)大將(jiāng)直(zhí)接影響被(bèi)抓(zhuā)網(wǎng)站(zhàn)的正(zhèng)常用戶(hù)訪問(wèn)行為。因(yīn)此,在(zài)抓取過程(chéng)中(zhōng)就(jiù)要進行一定(dìng)的抓取壓力控製,達到(dào)既(jì)不影(yǐng)響(xiǎng)網站的(dí)正(zhèng)常用戶訪(fǎng)問又能(néng)盡(jìn)量(liáng)多(duō)的(dí)抓(zhuā)取(qǔ)到有價值資源的目的。
通常情(qíng)況(kuàng)下,最基本的是(shì)基(jī)於ip的壓(yā)力控(kòng)製(zhì)。這是(shì)因為如(rú)果基(jī)於(yú)域(yù)名,可(kě)能(néng)存在一個域名(míng)對多(duō)個(gè)ip(很多大網(wǎng)站(zhàn))或(huò)多(duō)個域名對(duì)應同一個(gè)ip(小網站共(gòng)享ip)的問題。實際(jì)中,往(wǎng)往(wǎng)根據ip及域(yù)名的多種條(tiáo)件(jiàn)進行壓力(lì)調配(pèi)控製。同時(shí),站(zhàn)長平台也推(tuī)出了(liǎo)壓力反(fǎn)饋工具,站長可以人工(gōng)調(tiáo)配對自(zì)己網(wǎng)站的(dí)抓(zhuā)取(qǔ)壓(yā)力(lì),這時(shí)百度(dù)spider將優(yōu)先(xiān)按照(zhào)站(zhàn)長(cháng)的(dí)要求(qiú)進行抓(zhuā)取壓(yā)力(lì)控(kòng)製(zhì)。
對同(tóng)一個(gè)站(zhàn)點的(dí)抓取速(sù)度(dù)控製(zhì)一般(bān)分為兩(liǎng)類:其一(yī),一(yī)段時間內(nèi)的(dí)抓取(qǔ)頻(pín)率;其二,一(yī)段(duàn)時(shí)間(jiān)內的(dí)抓取流(liú)量(liáng)。同(tóng)一(yī)站點不(bù)同的時間抓取(qǔ)速(sù)度(dù)也(yě)會不(bù)同(tóng),例(lì)如(rú)夜(yè)深人靜(jìng)月黑(hēi)風高時候抓取的可(kě)能就(jiù)會快一些(xiē),也(yě)視(shì)具(jù)體(tǐ)站(zhàn)點類型而定(dìng),主(zhǔ)要思(sī)想是(shì)錯(cuò)開(kāi)正常用戶訪(fǎng)問(wèn)高峰,不(bù)斷的調整。對於不同站點(diǎn),也(yě)需(xū)要(yào)不(bù)同(tóng)的抓取(qǔ)速(sù)度(dù)。
2,常(cháng)用抓取(qǔ)返(fǎn)回碼(mǎ)示意(yì)
簡單(dān)介紹幾(jī)種(zhǒng)百(bǎi)度支(zhī)持(chí)的(dí)返回碼(mǎ):
1)最常見(jiàn)的(dí)404代(dài)表(biǎo)“NOT FOUND”,認為(wéi)網頁已經失效,通(tōng)常(cháng)將在庫中刪(shān)除,同時短(duǎn)期內(nèi)如果spider再(zài)次(cì)發(fā)現這條url也不(bù)會抓取(qǔ);
2)503代(dài)表(biǎo)“Service Unavailable”,認為(wéi)網(wǎng)頁(yè)臨(lín)時(shí)不可訪問,通(tōng)常(cháng)網站臨(lín)時關閉(bì),帶寬(kuān)有限等會(huì)產(chǎn)生這(zhè)種情(qíng)況。對(duì)於(yú)網頁返回503狀(zhuàng)態碼(mǎ),百度spider不會把(bǎ)這條url直接刪除,同(tóng)時(shí)短期內將(jiāng)會(huì)反(fǎn)復(fù)訪(fǎng)問幾次,如(rú)果網頁(yè)已恢(huī)復(fù),則(zé)正常抓取;如(rú)果(guǒ)繼續返回(huí)503,那麼(mó)這(zhè)條url仍(réng)會被認為是失效(xiào)鏈(liàn)接(jiē),從庫中刪除。
3)403代(dài)表“Forbidden”,認為(wéi)網頁目(mù)前(qián)禁止(zhǐ)訪問(wèn)。如(rú)果(guǒ)是(shì)新url,spider暫時(shí)不抓(zhuā)取,短期內(nèi)同樣(yàng)會反(fǎn)復訪問幾(jī)次;如果(guǒ)是已收錄(lù)url,不會直接刪除,短(duǎn)期(qī)內同(tóng)樣反復訪(fǎng)問幾次(cì)。如果(guǒ)網(wǎng)頁正(zhèng)常(cháng)訪問(wèn),則正(zhèng)常抓取(qǔ);如(rú)果仍(réng)然禁止(zhǐ)訪(fǎng)問(wèn),那(nà)麼這條url也會(huì)被認為是失效鏈(liàn)接,從庫(kù)中刪除。
4)301代表是“Moved Permanently”,認為網(wǎng)頁(yè)重定向至新url。當(dāng)遇到站點遷移,域(yù)名(míng)更換(huàn),站(zhàn)點(diǎn)改版(bǎn)的情況時(shí),我們推(tuī)薦(jiàn)使用301返回碼(mǎ),同時(shí)使(shǐ)用站(zhàn)長(cháng)平(píng)台網(wǎng)站改版工具(jù),以減少改版(bǎn)對(duì)網站(zhàn)流量造成的損(sǔn)失。
3,多種(zhǒng)url重定(dìng)向(xiàng)的識(shí)別
互聯網中(zhōng)一(yī)部分網(wǎng)頁(yè)因為(wéi)各(gè)種各樣(yàng)的原因(yīn)存在url重定向狀(zhuàng)態(tài),為了(liǎo)對這部分(fēn)資(zī)源(yuán)正常(cháng)抓(zhuā)取,就(jiù)要求spider對url重定向(xiàng)進(jìn)行識(shí)別(bié)判斷,同時(shí)防(fáng)止作弊行(háng)為(wéi)。重(zhòng)定(dìng)向(xiàng)可(kě)分為三(sān)類:http 30x重(zhòng)定(dìng)向(xiàng),meta refresh重定向(xiàng)和(hé)js重定向。另外(wài),百度(dù)也支持Canonical標(biāo)簽(qiān),在(zài)效(xiào)果(guǒ)上可(kě)以(yǐ)認為(wéi)也是一種(zhǒng)間(jiān)接的重(zhòng)定向。
4,抓取(qǔ)優(yōu)先級(jí)調(tiáo)配
由於(yú)互聯網(wǎng)資源規模(mó)的(dí)巨大(dà)以及迅(xùn)速的變化,對於(yú)搜(sōu)索引擎(qíng)來說全部抓取(qǔ)到並(bìng)合理的(dí)更(gēng)新保持(chí)一致性(xìng)幾乎(hū)是不(bù)可(kě)能(néng)的事情,因此這就要求抓取係統(tǒng)設計一(yī)套(tào)合理(lǐ)的抓(zhuā)取優先(xiān)級(jí)調(tiáo)配策(cè)略。主要包括:深(shēn)度優(yōu)先遍(biàn)歷策(cè)略,寬度優先(xiān)遍(biàn)歷(lì)策(cè)略,pr優(yōu)先策(cè)略(lüè),反鏈策(cè)略,社會化分享指(zhǐ)導策(cè)略等(děng)等。每(měi)個(gè)策(cè)略(lüè)各有優劣,在實(shí)際情(qíng)況中(zhōng)往往(wǎng)是多(duō)種策略結合使(shǐ)用(yòng)以達(dá)到最優的(dí)抓(zhuā)取(qǔ)效果(guǒ)。
5,重(zhòng)復url的過(guò)濾
spider在抓取過(guò)程中需(xū)要判(pàn)斷(duàn)一個頁麵(miàn)是(shì)否已(yǐ)經(jīng)抓(zhuā)取過了,如果還(huán)沒(méi)有(yǒu)抓(zhuā)取再進行抓取網頁的行(háng)為並放在已抓取(qǔ)網(wǎng)址(zhǐ)集(jí)合(hé)中(zhōng)。判(pàn)斷(duàn)是否(fǒu)已經抓取(qǔ)其中涉(shè)及(jí)到(dào)最核(hé)心(xīn)的(dí)是(shì)快(kuài)速查(chá)找並對(duì)比,同(tóng)時涉(shè)及到url歸(guī)一化(huà)識別,例(lì)如一(yī)個(gè)url中包(bāo)含(hán)大(dà)量(liáng)無效(xiào)參數(shù)而實際是同(tóng)一(yī)個頁(yè)麵,這(zhè)將(jiāng)視(shì)為同(tóng)一個url來對(duì)待。
6,暗網數(shù)據的獲取(qǔ)
互(hù)聯(lián)網中存在著(zhuó)大量(liáng)的搜索引擎(qíng)暫時(shí)無法抓取到(dào)的數據,被(bèi)稱為暗網數據(jù)。一方麵(miàn),很(hěn)多(duō)網站(zhàn)的大量(liáng)數據是(shì)存在(zài)於(yú)網(wǎng)絡數(shù)據庫(kù)中,spider難以(yǐ)采用抓(zhuā)取網頁的(dí)方(fāng)式(shì)獲得(dé)完整(zhěng)內容(róng);另一(yī)方(fāng)麵(miàn),由(yóu)於網絡環(huán)境,網站本身(shēn)不(bù)符(fú)合規(guī)範(fàn),孤島等(děng)等問題,也會(huì)造(zào)成(chéng)搜(sōu)索引擎無法抓(zhuā)取。目前(qián)來(lái)說,對(duì)於暗網(wǎng)數據(jù)的(dí)獲取主(zhǔ)要思(sī)路仍(réng)然(rán)是(shì)通(tōng)過開放平台采(cǎi)用數據提(tí)交(jiāo)的(dí)方(fāng)式(shì)來(lái)解決(jué),例(lì)如(rú)“百度站(zhàn)長平台(tái)”“百(bǎi)度(dù)開(kāi)放平(píng)台”等等。
7,抓(zhuā)取反作弊
spider在抓(zhuā)取(qǔ)過(guò)程中(zhōng)往往(wǎng)會(huì)遇(yù)到所謂(wèi)抓取黑洞或(huò)者麵(miàn)臨(lín)大量(liáng)低(dī)質量頁(yè)麵的(dí)困(kùn)擾,這(zhè)就要求抓(zhuā)取係統中(zhōng)同(tóng)樣(yàng)需要設計一套(tào)完善的抓取反作弊(bì)係(xì)統。例(lì)如(rú)分(fēn)析url特征,分析(xī)頁麵(miàn)大(dà)小及(jí)內(nèi)容,分析站(zhàn)點規(guī)模對(duì)應抓取(qǔ)規模(mó)等(děng)等(děng)。
轉(zhuǎn)載請(qǐng)保留(liú)原文地址: https://antelcom.cn/show-547.html

