利用node.js做個簡單的網路蜘蛛(Web Spider)

5 / 14, 2013 node.js

我看過許多網路蜘蛛(Web Spider,又稱「網路機器人」),通常是用PHP、Python、Ruby等等程式寫成,但是卻沒有人想到node.js可以撰寫網頁蜘蛛,而且效果很好,所以我利用非同步(Asynchronous)I/O提供一個快速,穩定、簡單的node.js網絡蜘蛛,在這裡,我將會制作一個網路蜘蛛,並希望你能有所得益,甚至以此為本編程你自己的網路蜘蛛。
此篇文章翻譯自Create a simple web spider in node.js,且已經取得授權,如果有翻譯不好,歡迎修正


web-spider
網頁蜘蛛一個在網路上找到的網站並記錄、收錄內容的程式,是個長期運作的程式,找到並收錄後,我們可以藉由收尋這些網路蜘蛛爬行所得收錄的記錄,來找到我們要的資訊,這就是一個非常基本的網路蜘蛛。
首先,我們需要一個收尋連結的「基礎網站」,並把在這網站找到的記錄輸入進資料庫,在來從這個網站依循網站中的連結慢慢往外找尋收錄。
以下是我們要用到的模組,這些模組可以協助我們完成網路蜘蛛的程式
1.request (幫助我們找尋網站)
2.cheerio (協助解碼)
3.Mysql (收錄找到的紀錄)
4.async (輔助的函式庫)
以下則是程式碼: