node JS爬蟲基礎篇

項目中一直用不到node,可是以爲node這門以js做爲編程基礎的服務端語言頗有意思,用它能夠寫一些接口,寫個爬蟲.這是一門基礎篇,看了一段時間文檔後寫個爬蟲加強一下node的認識吧

爬蟲的原理感受很簡單,大體分爲一下三步

  1. 獲取到對應網站的數據(也就是html代碼)
  2. 篩選出你須要的數據(好比用戶的信息,圖片的地址)
  3. 下載或者整理出你所要的資源寫入數據庫
var http=require('http')
var fs  =require('fs')
var path=require('path')
http.get('http://jspang.com/',function(res){
    var content=''
    res.on('data',function(txt){
        content+=txt
    })

    res.on('end',function(){
        var reg=/data-src="(.*?\.jpg)"/img;//匹配出圖片地址
        // var data=content.match(reg);
        // fs.writeFile('./test.txt',data,function(){
        //     console.log('寫入成功')
        // })

        var filename=null;
        //循環出圖片地址
        while(filename=reg.exec(content)){
            getImage(filename[1])
        }
    })
})
//下載圖片
function getImage(url){
    var obj=path.parse(url);
    var name=obj.base;
    var filestream=fs.createWriteStream('./img/'+name);
    http.get(url,function(res){
        res.pipe(filestream)
    })
}
固然這只是個最簡單的demo了,下面會持續更新進階版的!
市面上的框架變幻無窮,只有基礎知識比較好纔可以學習的更好,並且須要多學習一下性能優化,網絡,安全這方面,由於在大公司裏面,其實重要的東西並非你可以作的多好看,而是你的安全性那些作的好很差,一不當心信息泄露了,那就會致使不少沒法想象的事情。
相關文章
相關標籤/搜索