項目中一直用不到node,可是以爲node這門以js做爲編程基礎的服務端語言頗有意思,用它能夠寫一些接口,寫個爬蟲.這是一門基礎篇,看了一段時間文檔後寫個爬蟲加強一下node的認識吧
爬蟲的原理感受很簡單,大體分爲一下三步
- 獲取到對應網站的數據(也就是html代碼)
- 篩選出你須要的數據(好比用戶的信息,圖片的地址)
- 下載或者整理出你所要的資源寫入數據庫
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了,下面會持續更新進階版的!
市面上的框架變幻無窮,只有基礎知識比較好纔可以學習的更好,並且須要多學習一下性能優化,網絡,安全這方面,由於在大公司裏面,其實重要的東西並非你可以作的多好看,而是你的安全性那些作的好很差,一不當心信息泄露了,那就會致使不少沒法想象的事情。