網(wǎng)站的樹結構
深度優(yōu)先算法和實現(xiàn)
廣度優(yōu)先算法和實現(xiàn)
網(wǎng)站的樹結構
通過伯樂在線網(wǎng)站為例子:
并且我們通過訪問伯樂在線也是可以發(fā)現(xiàn),我們從任何一個子頁面其實都是可以返回到首頁,所以當我們爬取頁面的數(shù)據(jù)的時候就會涉及到去重的問題,我們需要將爬過的url記錄下來,我們將上圖進行更改
在爬蟲系統(tǒng)中,待抓取URL隊列是很重要的一部分,待抓取URL隊列中的URL以什么樣的順序排隊列也是一個很重要的問題,因為這涉及到先抓取哪個頁面,后抓取哪個頁面。而決定這些URL排列順序的方法,叫做抓取策略。下面是常用的兩種策略:深度優(yōu)先、廣度優(yōu)先
深度優(yōu)先
深度優(yōu)先是指網(wǎng)絡爬蟲會從起始頁開始,一個鏈接一個鏈接跟蹤下去,處理完這條線路之后再轉入下一個起始頁,繼續(xù)追蹤鏈接,通過下圖進行理解:
這里是深度優(yōu)先,所以這里的爬取的順序式:
A-B-D-E-I-C-F-G-H (遞歸實現(xiàn))
深度優(yōu)先算法的實現(xiàn)(偽代碼):
廣度優(yōu)先
廣度優(yōu)先,有人也叫寬度優(yōu)先,是指將新下載網(wǎng)頁發(fā)現(xiàn)的鏈接直接插入到待抓取URL隊列的末尾,也就是指網(wǎng)絡爬蟲會先抓取起始頁中的所有網(wǎng)頁,然后在選擇其中的一個連接網(wǎng)頁,繼續(xù)抓取在此網(wǎng)頁中鏈接的所有網(wǎng)頁,通過下圖進行理解:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數(shù)據(jù)結構來看看(二) 2017-07-26
