網(wang)(wang)(wang)絡(luo)(luo)(luo)蜘蛛即Web Spider,是(shi)一個(ge)(ge)比喻得(de)很形象(xiang)的(de)(de)名字(zi)。把(ba)互(hu)(hu)聯網(wang)(wang)(wang)比喻成一個(ge)(ge)蜘蛛網(wang)(wang)(wang),那么Spider就(jiu)是(shi)在(zai)網(wang)(wang)(wang)上(shang)爬來(lai)爬去的(de)(de)蜘蛛。網(wang)(wang)(wang)絡(luo)(luo)(luo)蜘蛛是(shi)通過(guo)網(wang)(wang)(wang)頁(ye)的(de)(de)鏈(lian)接(jie)地(di)址來(lai)尋(xun)找網(wang)(wang)(wang)頁(ye),從網(wang)(wang)(wang)站(zhan)(zhan)某一個(ge)(ge)頁(ye)面(通常是(shi)首頁(ye))開始,讀取網(wang)(wang)(wang)頁(ye)的(de)(de)內容,找到在(zai)網(wang)(wang)(wang)頁(ye)中(zhong)的(de)(de)其它鏈(lian)接(jie)地(di)址,然后通過(guo)這(zhe)些鏈(lian)接(jie)地(di)址尋(xun)找下一個(ge)(ge)網(wang)(wang)(wang)頁(ye),這(zhe)樣一直循環下去,直到把(ba)這(zhe)個(ge)(ge)網(wang)(wang)(wang)站(zhan)(zhan)所(suo)有(you)(you)的(de)(de)網(wang)(wang)(wang)頁(ye)都抓(zhua)取完為止。如果把(ba)整個(ge)(ge)互(hu)(hu)聯網(wang)(wang)(wang)當成一個(ge)(ge)網(wang)(wang)(wang)站(zhan)(zhan),那么網(wang)(wang)(wang)絡(luo)(luo)(luo)蜘蛛就(jiu)可以用這(zhe)個(ge)(ge)原(yuan)理把(ba)互(hu)(hu)聯網(wang)(wang)(wang)上(shang)所(suo)有(you)(you)的(de)(de)網(wang)(wang)(wang)頁(ye)都抓(zhua)取下來(lai)。
在抓取網(wang)頁的時候,網(wang)絡蜘蛛一(yi)般有兩種策略:廣度優(you)先(xian)和深度優(you)先(xian)
廣度優先(xian)是(shi)指網(wang)絡蜘蛛會先(xian)抓取起(qi)始網(wang)頁中(zhong)鏈接的所有(you)網(wang)頁,然(ran)后(hou)再(zai)選擇其中(zhong)的一個(ge)鏈接網(wang)頁,繼續抓取在此網(wang)頁中(zhong)鏈接的所有(you)網(wang)頁。這是(shi)最常用(yong)的方(fang)式,因(yin)為這個(ge)方(fang)法可以讓網(wang)絡蜘蛛并行處(chu)理,提高其抓取速度。
深(shen)度優先是指網絡(luo)蜘(zhi)蛛會從(cong)起始頁(ye)開始,一(yi)個(ge)(ge)(ge)鏈(lian)接一(yi)個(ge)(ge)(ge)鏈(lian)接跟(gen)蹤下去,處(chu)理(li)完這(zhe)條線路之后再轉入下一(yi)個(ge)(ge)(ge)起始頁(ye),繼續跟(gen)蹤鏈(lian)接。這(zhe)個(ge)(ge)(ge)方法有個(ge)(ge)(ge)優點是網絡(luo)蜘(zhi)蛛在設計的時候比較容易。