公司網(wǎng)站制作爬蟲“黑洞”
日期 : 2020-10-21 18:38:35
爬蟲“黑洞”。爬蟲在搜集藏文網(wǎng)頁的過程中, 必須考慮可能出現(xiàn)的“黑洞”情況。
爬蟲黑洞是指, 在抓取一張網(wǎng)頁的鏈接時, 鏈接本身是一個無限循環(huán), 導(dǎo)致爬蟲抓取時跟著循環(huán), 浪費資源。有時一些URL看起來不同, 但實際指向同一張網(wǎng)頁, 也會使爬蟲陷入重復(fù)抓取的境地。
為了避免爬蟲誤入黑洞, 一般采取兩種策略。一是爬蟲回避動態(tài)網(wǎng)頁, 因為動態(tài)網(wǎng)頁常常會把爬蟲帶入黑洞。識別動態(tài)網(wǎng)頁時, 只需要判斷URL中是否出現(xiàn)問題, 含問號的就是動態(tài)網(wǎng)頁。二是使用Visited表記錄已經(jīng)訪問過的URL, 凡是遇到新的URL存在于Visited表, 就放棄對該URL的繼續(xù)處理。例如:當(dāng)遇到a→b→c→d→c→e這樣的環(huán)路鏈接, 爬蟲就會掉進(jìn)去, 反復(fù)抓取c、d對應(yīng)的頁面。使用Visited表, 就能避免這個問題。
爬蟲黑洞是指, 在抓取一張網(wǎng)頁的鏈接時, 鏈接本身是一個無限循環(huán), 導(dǎo)致爬蟲抓取時跟著循環(huán), 浪費資源。有時一些URL看起來不同, 但實際指向同一張網(wǎng)頁, 也會使爬蟲陷入重復(fù)抓取的境地。
為了避免爬蟲誤入黑洞, 一般采取兩種策略。一是爬蟲回避動態(tài)網(wǎng)頁, 因為動態(tài)網(wǎng)頁常常會把爬蟲帶入黑洞。識別動態(tài)網(wǎng)頁時, 只需要判斷URL中是否出現(xiàn)問題, 含問號的就是動態(tài)網(wǎng)頁。二是使用Visited表記錄已經(jīng)訪問過的URL, 凡是遇到新的URL存在于Visited表, 就放棄對該URL的繼續(xù)處理。例如:當(dāng)遇到a→b→c→d→c→e這樣的環(huán)路鏈接, 爬蟲就會掉進(jìn)去, 反復(fù)抓取c、d對應(yīng)的頁面。使用Visited表, 就能避免這個問題。