在爬蟲系統(tǒng)中,待抓取URL隊(duì)列是很關(guān)鍵的部分,需要爬蟲抓取的網(wǎng)頁(yè)URL在其中順序排列,形成一個(gè)隊(duì)列結(jié)構(gòu),調(diào)度程序每次從隊(duì)列頭取出某個(gè)URL,發(fā)送經(jīng)網(wǎng)頁(yè)下載器下載頁(yè)面內(nèi)容,每個(gè)新下載的頁(yè)面包含的URL會(huì)追加到待抓取URL隊(duì)列的末尾,如此形成循環(huán),整個(gè)爬蟲系統(tǒng)可以說(shuō)是由這個(gè)隊(duì)列驅(qū)動(dòng)運(yùn)轉(zhuǎn)的。
待抓取URL隊(duì)列中頁(yè)面URL順序是如何確定的?上面所述效新下載頁(yè)面中包含的鏈接追加到隊(duì)列尾部,這固然是一種確定隊(duì)列URL順序的方法,但并非唯一的手段,事實(shí)上,還可以采納很多其他技術(shù),將隊(duì)列中待抓取的URL進(jìn)行排序。而爬蟲的不同抓取策略,就是利用不同的方法來(lái)確定待抓取URL隊(duì)列中URL優(yōu)先順序的。
爬蟲的抓取策略有很多種,但不論方法如何,其基本目標(biāo)一致:優(yōu)先選擇重要網(wǎng)頁(yè)進(jìn)行抓取。在爬蟲系統(tǒng)中,所謂網(wǎng)頁(yè)的重要性,其評(píng)判標(biāo)準(zhǔn)可以選擇不同方法,但是大部分都是按照網(wǎng)頁(yè)的流行性來(lái)定義的,在本書的“鏈接分析”一章介紹的PageRank就是評(píng)價(jià)網(wǎng)頁(yè)重要性的常用標(biāo)準(zhǔn)。
抓取策略方法眾多,本節(jié)只選擇已經(jīng)被證明效果較好或者是比較有代表性的解決方案,包括以下4種:寬度優(yōu)先遍歷策略、非完全PageRank策略、OPIC策略及大站優(yōu)先策略。