網(wǎng)絡(luò)蜘蛛即Web Spider,是一個(gè)比喻得很形象的名字。把互聯(lián)網(wǎng)比喻成一個(gè)蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛。網(wǎng)絡(luò)蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁,從網(wǎng)站某一個(gè)頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個(gè)網(wǎng)頁,這樣一直循環(huán)下去,直到把這個(gè)網(wǎng)站所有的網(wǎng)頁都抓取完為止。如果把整個(gè)互聯(lián)網(wǎng)當(dāng)成一個(gè)網(wǎng)站,那么網(wǎng)絡(luò)蜘蛛就可以用這個(gè)原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來。
在抓取網(wǎng)頁的時(shí)候,網(wǎng)絡(luò)蜘蛛一般有兩種策略:廣度優(yōu)先和深度優(yōu)先
廣度優(yōu)先是指網(wǎng)絡(luò)蜘蛛會(huì)先抓取起始網(wǎng)頁中鏈接的所有網(wǎng)頁,然后再選擇其中的一個(gè)鏈接網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中鏈接的所有網(wǎng)頁。這是最常用的方式,因?yàn)檫@個(gè)方法可以讓網(wǎng)絡(luò)蜘蛛并行處理,提高其抓取速度。
深度優(yōu)先是指網(wǎng)絡(luò)蜘蛛會(huì)從起始頁開始,一個(gè)鏈接一個(gè)鏈接跟蹤下去,處理完這條線路之后再轉(zhuǎn)入下一個(gè)起始頁,繼續(xù)跟蹤鏈接。這個(gè)方法有個(gè)優(yōu)點(diǎn)是網(wǎng)絡(luò)蜘蛛在設(shè)計(jì)的時(shí)候比較容易。