node上HTML分析利器node-jquery
5893 ワード
まず、このエッセイを生成するシーンを説明します.jenkinsで構築されたプロジェクトの最新Javascript Coverageを管理階層で表示するためのプロジェクト状況Reportに表示する必要がありますが、jenkinsは直接APIでデータを取得するために必要なデータがないため、Javascript CoverageデータAPIを自社のコンテナから公開し、Reportプロジェクトで使用することができます.
简単なデータ分析を采用して、ただHost 1つの简単なweb Serverだけなので、本人はTomcat、IISのような大型のツールが好きではありませんて、少し鶏を杀して牛刀を使って、班门は斧を弄します.私はnodeのほうが好きです.jsのような簡単なwebコンテナ.だからプロジェクトはnodeを採用します.js,node.js天然javascriptはhtml操作と天然一体であり,DOM構造によりHtmlの解析が容易で簡潔である.
Node.jsがHTML DOMを解析するのはもちろんhtmlpaser,jsdomです.しかし、個人的にはjQueryのスタイルが好きで、web jQueryとの統一APIが好きなので、node-jqueryを選んだ.そのコードはGithubのhttps://github.com/coolaj86/node-jquery.
以下は私が簡単なdemoを書きます:Github Popular projectをつかんでコンソールで出力します.
このプロジェクトは私のGithubに泊まっています.https://github.com/greengerong/node-jquery-demo.node-jquery学習demoを理解するためにのみ、ご指導を歓迎します.
简単なデータ分析を采用して、ただHost 1つの简単なweb Serverだけなので、本人はTomcat、IISのような大型のツールが好きではありませんて、少し鶏を杀して牛刀を使って、班门は斧を弄します.私はnodeのほうが好きです.jsのような簡単なwebコンテナ.だからプロジェクトはnodeを採用します.js,node.js天然javascriptはhtml操作と天然一体であり,DOM構造によりHtmlの解析が容易で簡潔である.
Node.jsがHTML DOMを解析するのはもちろんhtmlpaser,jsdomです.しかし、個人的にはjQueryのスタイルが好きで、web jQueryとの統一APIが好きなので、node-jqueryを選んだ.そのコードはGithubのhttps://github.com/coolaj86/node-jquery.
以下は私が簡単なdemoを書きます:Github Popular projectをつかんでコンソールで出力します.
- var $ = require('jquery');
-
-
-
- String.format = function() {
-
- var s = arguments[0];
-
- for (var i = 0; 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("h3").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);
-
- });
-
- });
このプロジェクトは私のGithubに泊まっています.https://github.com/greengerong/node-jquery-demo.node-jquery学習demoを理解するためにのみ、ご指導を歓迎します.