Node.js入門

Node.js入門簡介

作者:Chengyu

Node.js本身就是一門新興的語言失暴,由于語言輕便,并且具有較為強大的前端編程能力微饥,所以近期廣泛被用于抓取數(shù)據(jù)的領(lǐng)域逗扒。至于其他方面,由于在下接觸也并不多并不能給予充分地評價欠橘。

乾為始 --node.js的下載與使用

Node.js的下載與安裝矩肩,詳見nodejs.org/。相信項目組的各位都是計算機的精英這個應該不是問題肃续。至于運行黍檩,只需在terminal端(win可以是Cygwin或者其他)輸入

node 文本名稱

萬事俱備叉袍,只欠東風 --node.js的require構(gòu)架

在nodejs中幾乎每次開頭都必須要加上或多或少的require的請求,就本人見解可以通俗的理解為“#include”在C中的作用刽酱,也就是引用庫/API喳逛。

話不多說,直接上“hello world”的一段代碼:

var http = require('http');

server = http.createServer(function (req, res) {

res.writeHeader(200, {"Content-Type": "text/plain"});

res.end("Hello World\n");

});

server.listen(8000);

console.log("httpd start @8000");

輸出結(jié)果:

localhost端的輸出
console端的輸出

http調(diào)用了https的庫棵里,server.listen()是打開localhost的port:8000润文,至于console.log()則是輸出在控制器的結(jié)果,類似printf()殿怜。

Ok典蝌,到此恭喜大家已經(jīng)寫好了第一個nodejs的程序~

生非異,假于物 --node.js API的使用

使用Nodejs的一大原因是由于其強大的API头谜,坐擁這些API可以處理很多不可思議的事情骏掀。在此,推薦一個非常好用的網(wǎng)站:www.npmjs.com/乔夯。

這網(wǎng)站到底有多強大呢砖织,舉個例子。比如你想獲取近期未來和過去的天氣末荐,你可以從零自己構(gòu)寫一個抓取網(wǎng)頁的js程序侧纯,然后執(zhí)行抓取對應網(wǎng)頁的數(shù)據(jù)。復雜點甲脏,可能數(shù)據(jù)不再同一個頁面眶熬,你要用call back或者loop去“進入”不同的網(wǎng)頁抓取所有所需數(shù)據(jù),畢竟數(shù)據(jù)量很大块请,但是每一次樓一兩個到后期差距會很大的娜氏。聽到這里各位肯定會發(fā)現(xiàn)工程量的巨大,可以使npm可以幫助大家輕松地完成這些事情墩新。你所需做的就是找到相應weather的API然后下載并且看完教程如何使用贸弥,接著就只需改改每次運行的所要求時間和位置,便可直接獲得數(shù)據(jù)海渊。

(PS:據(jù)本人經(jīng)歷绵疲,大部分API所獲取數(shù)據(jù)都是來自JSON)

曲徑通幽處 --node.js讀取文本和輸出文本

處理大數(shù)據(jù),一般和文本分不開干系臣疑,所以這里幫助大家學習一下文本的處理盔憨。

讀取文本:

var fs = require('fs');

var iconv = require('iconv-lite');

var fileStr = fs.readFileSync('file name', {encoding:'binary'});

var buf = new Buffer(fileStr, 'binary');

var str = iconv.decode(buf, 'GBK');

console.log(str);

如此在terminal上輸出的就是讀取文本的所有內(nèi)容。(fs, iconv-lite需在npm自行下載)

注意:這里讀取出的時原封不動的文本內(nèi)容讯沈,后期要用RegExp進行處理郁岩,在此就不想洗論述,如果需求,在下以后可以寫些externsion问慎。

輸出文本:

var fs = require('fs');

var iconv = require('iconv-lite')

var header = "head\n";? ? ? //make file header

var filename = "file name" + ".csv"; ? ?//file name

fs.appendFile(filename, header,?function (err){ ? ? ?//three parameters, which one is func.

if (!err){

console.log("------------ saved header to:" + filename);

var filedata = first attribue+"," ? ? ? ? //attributes are defined before

+ second attribute + ","+.....

+ "\n";

//append attribute to the file

fs.appendFile(filename, filedata,

function (err) {

if (!err) {

console.log("saved data to " + filename);

}

else{

console.log("error" + " " + err);

}

}

);

}

else{

console.log("error" + " " + err);

}

}

);

綜上萍摊,可以將文本保存到叫做“file name”的文本中,格式是csv蝴乔。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末记餐,一起剝皮案震驚了整個濱河市驮樊,隨后出現(xiàn)的幾起案子薇正,更是在濱河造成了極大的恐慌,老刑警劉巖囚衔,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挖腰,死亡現(xiàn)場離奇詭異,居然都是意外死亡练湿,警方通過查閱死者的電腦和手機猴仑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肥哎,“玉大人辽俗,你說我怎么就攤上這事〈鄯蹋” “怎么了崖飘?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長杈女。 經(jīng)常有香客問我朱浴,道長,這世上最難降的妖魔是什么达椰? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任翰蠢,我火速辦了婚禮,結(jié)果婚禮上啰劲,老公的妹妹穿的比我還像新娘梁沧。我一直安慰自己,他們只是感情好蝇裤,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布廷支。 她就那樣靜靜地躺著,像睡著了一般猖辫。 火紅的嫁衣襯著肌膚如雪酥泞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天啃憎,我揣著相機與錄音城须,去河邊找鬼。 笑死扯饶,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的羡藐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悯许,長吁一口氣:“原來是場噩夢啊……” “哼仆嗦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起先壕,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤瘩扼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垃僚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體集绰,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年谆棺,在試婚紗的時候發(fā)現(xiàn)自己被綠了栽燕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡改淑,死狀恐怖碍岔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情朵夏,我是刑警寧澤蔼啦,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站侍郭,受9級特大地震影響询吴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亮元,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一猛计、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧爆捞,春花似錦奉瘤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至成肘,卻和暖如春卖局,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背双霍。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工砚偶, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留批销,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓染坯,卻偏偏與公主長得像均芽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子单鹿,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 個人入門學習用筆記掀宋、不過多作為參考依據(jù)。如有錯誤歡迎斧正 目錄 簡書好像不支持錨點仲锄、復制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,469評論 1 37
  • topics: 1.The Node.js philosophy 2.The reactor pattern 3....
    宮若石閱讀 1,078評論 0 1
  • Node.js是目前非尘⒚睿火熱的技術(shù),但是它的誕生經(jīng)歷卻很奇特昼窗。 眾所周知是趴,在Netscape設(shè)計出JavaScri...
    w_zhuan閱讀 3,613評論 2 41
  • Node.js 常用工具 util 是一個Node.js 核心模塊,提供常用函數(shù)的集合澄惊,用于彌補核心JavaScr...
    FTOLsXD閱讀 535評論 0 2
  • Node.js學習 官方定義: Node.js運行環(huán)境是在Chrome的V8 JavaScript引擎上. Nod...
    蕎葉閱讀 595評論 0 2