在瀏覽器位址列中輸入localhost:3000
,在頁面顯示 首頁 的 20 篇文章標題。
首先需要埠的監聽,這就需要引入 node 中最重要的模組之一express
。其次需要對 頁面傳送類似 http 的請求以獲取頁面資料進行分析,這裡需要引入superagent
模組。最後為了能使請求得到的 html 原始碼進行類似 dom 一般的操作,需要引入cheerio
模組。
首先第一步,我們要實現埠的監聽,以便能將資訊輸出到頁面上。
我們可以用http
模組:
}).listen(3000);當然我們更可以用封裝了http
功能更加強大的 express 模組:
// 這句的意思就是引入 `express` 模組,並將它賦予 `express` 這個變數等待使用。
var express = require('express');
// 這個 handler 函式會接收 req 和 res 兩個物件,他們分別是請求的 request 和 response。
// request 中包含了瀏覽器傳來的各種資訊,比如 query 啊,body 啊,headers 啊之類的,都可以通過 req 物件訪問到。
// res 物件,我們一般不從裡面取資訊,而是通過它來定製我們向瀏覽器輸出的資訊,比如 header 資訊,比如想要向瀏覽器輸出的內容。這裡我們呼叫了它的 #send 方法,向瀏覽器輸出乙個字串。
res.send('hello world');
});});
接著我們需要獲取首頁的**從而能進行分析。superagent 就是服務端可以傳送 get post 等 http 請求的模組,直接看**,更多的 api 可以參考文件。
var express = require('express');
var superagent = require('superagent');
superagent
.get('')
.end(function (err, ans)
res.send(ans.text);
});});});
我們用 superagent 模組獲取了的頁面**,而用 cheerio 則可以進行類似 jquery 的 css 選擇器操作。cheerio 模組的詳細 api 可以參考 文件。
var express = require('express');
var cheerio = require('cheerio');
var superagent = require('superagent');
superagent
.get('')
.end(function (err, sres)
// sres.text 裡面儲存著網頁的 html 內容,將它傳給 cheerio.load 之後
// 就可以得到乙個實現了 jquery 介面的變數,我們習慣性地將它命名為 `$`
// 剩下就都是 jquery 的內容了
var $ = cheerio.load(sres.text);
var ans = '';
$('.titlelnk').each(function (index, item) );
// 將內容呈現到頁面
res.send(ans);
});});});
這時啟動localhost:3000
,頁面就能顯示首頁的 20 篇文章標題啦(雖然沒樣式不太美觀)!(當然得先 node filename.js)
當然我們也可以直接把內容輸出在控制台:
var cheerio = require('cheerio');
var superagent = require('superagent');
superagent
.get('')
.end(function (err, sres)
// sres.text 裡面儲存著網頁的 html 內容,將它傳給 cheerio.load 之後
// 就可以得到乙個實現了 jquery 介面的變數,我們習慣性地將它命名為 `$`
// 剩下就都是 jquery 的內容了
var $ = cheerio.load(sres.text);
$('.titlelnk').each(function (index, item) );
});
參考:《node.js 包教不包會》 如何用nodejs啟乙個前端服務
1 新建資料夾,如 notice 2 新建頁面和js檔案,如 index.html server.js 3 index.html頁面內容隨你寫,如 你看到的這個頁面是首頁 body html 4 關鍵的 server.js 用來啟服務 var fs require fs 用來讀取檔案 var roo...
如何用nodejs建立乙個proxy 服務
應用場景 由於公司不能上外網,並且沒有區域網wifi,所以要在自己的mac機上搭乙個proxy然後通過android adb 命令做埠對映。android 機的資料流向 手機 電腦,電腦通過proxy server匹配到指定的server.收到請求後按照相反路線傳遞資料 編碼實現 1 建立乙個nod...
如何用C 寫乙個簡單的Login視窗
最近,看到網上經常會問如何進行視窗跳轉,大多數的問題都是牽扯到login視窗。其實,在visual studio 6以來,比較正確的做法,是判斷login視窗的返回值,然後決定是否開啟主窗體,那麼在c 中也是一樣的。具體做法如下 首先,建立login視窗,然後新增相應的輸入框和按鈕,設定視窗的acc...