實現(xiàn)一個簡單的爬蟲 基于 Node.js
用到的模塊
http
mongodb
步驟:
1. 先指定一個 URL嵌器,將該URL放入隊列 urls
2. 取出隊列中的第一個 URL
3. 搜索該URL中的所有 urls
4. 將搜索到的 urls 合并進(jìn) urls 隊列苦锨,將URL放入mongodb數(shù)據(jù)庫
5. 跳到第二步
已知問題:
1. 搜索到的URL沒有進(jìn)行格式的驗證
2. 匹配URL的正則可能會不嚴(yán)謹(jǐn)
3. 沒有把已經(jīng)存在的URL排除掉
4. 存放 url 的隊列意荤,因為是在內(nèi)存中,所以有溢出的可能,且非常可能
5. 有些鏈接是相對鏈接,需要轉(zhuǎn)換成絕對鏈接
結(jié)果:
能夠存到數(shù)據(jù)庫 1100
多條數(shù)據(jù)镀裤,但是有很多是 404 或其他錯誤
可以參考的文章:
基于網(wǎng)絡(luò)爬蟲的有效URL緩存