首先描述產(chǎn)生這篇隨筆的場(chǎng)景:我需要獲取項(xiàng)目在jenkins構(gòu)建的最新Javascript Coverage顯示在供管理層次查看的項(xiàng)目情況Report上,但是由于jenkins沒有直接的API取得數(shù)據(jù)所需數(shù)據(jù),所以我們只能從自建的容器發(fā)布Javascript Coverage數(shù)據(jù)API,供Report項(xiàng)目使用。
創(chuàng)新互聯(lián)是一家專業(yè)提供華坪企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為華坪眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
由于采用簡(jiǎn)單的數(shù)據(jù)分析,只是Host一個(gè)簡(jiǎn)單的web Server,所以本人不喜歡Tomcat,IIS這類大型工具,顯得有點(diǎn)殺雞用牛刀,班門弄斧。我更喜歡node.js這類簡(jiǎn)易的web容器。所以項(xiàng)目采用node.js,并node.js天然的javascript與html操作的天然一體,借助DOM結(jié)構(gòu)使得解析Html更容易,簡(jiǎn)潔。
Node.js解析HTML DOM的當(dāng)然是htmlpaser,jsdom。然而個(gè)人更喜歡jQuery的風(fēng)格,與web jQuery的統(tǒng)一API,所以選擇了node-jquery.其代碼部署在Github的https://github.com/coolaj86/node-jquery.
下面是本人寫個(gè)一個(gè)簡(jiǎn)單demo: 抓取Github Popular project打印在控制臺(tái)輸出。
- var $ = require('jquery');
- String.format = function() {
- var s = arguments[0];
- for (var i = 0; i < arguments.length - 1; i++) {
- var reg = new RegExp("\\{" + i + "\\}", "gm");
- s = s.replace(reg, arguments[i + 1]);
- }
- return s;
- };
- $.get("https://github.com/popular/forked",function(html){
- var $doc = $(html);
- console.log("No. name language star forks ")
- $doc.find("ul.repolist li.source").each(function(i,project){
- var $project = $(project);
- var name = $project.find("h4").text().trim();
- var language = $project.find("li:eq(0)").text().trim();
- var star = $project.find("li.stargazers").text().trim();
- var forks = $project.find("li.forks").text().trim();
- var row =String.format("{4} {0} {1} {2} {3}",name,
- language,star,forks,i + 1 );
- console.log(row);
- });
- });
此項(xiàng)目寄宿在我Github https://github.com/greengerong/node-jquery-demo。僅供了解node-jquery學(xué)習(xí)demo,歡迎指教。
名稱欄目:node上HTML分析利器node-jquery
鏈接地址:http://chinadenli.net/article40/giepho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、定制開發(fā)、網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)公司、搜索引擎優(yōu)化、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)