node上HTML分析利器node-jquery

简介:

      首先描述产生这篇随笔的场景:我需要获取项目在jenkins构建的最新Javascript Coverage显示在供管理层次查看的项目情况Report上,但是由于jenkins没有直接的API取得数据所需数据,所以我们只能从自建的容器发布Javascript Coverage数据API,供Report项目使用。

 

     由于采用简单的数据分析,只是Host一个简单web Server,所以本人不喜TomcatIIS这类大型工具,得有点杀鸡用牛刀,班弄斧。我更喜node.js这类简易web容器。所以目采用node.js,并node.js天然的javascripthtml操作的天然一体,借助DOM构使得解析Html更容易,简洁

      Node.js解析HTML DOM的当然是htmlpaserjsdom。然而个人更喜jQuery格,与web jQueryAPI,所以选择node-jquery.其代部署在Githubhttps://github.com/coolaj86/node-jquery. 

     下面是本人写个一个简单demo  抓取Github Popular project打印在控制台出。

 
  1. var $ = require('jquery'); 
  2.  
  3.   
  4.  
  5. String.format = function() { 
  6.  
  7.     var s = arguments[0]; 
  8.  
  9.     for (var i = 0; i < arguments.length - 1; i++) { 
  10.  
  11.         var reg = new RegExp("\\{" + i + "\\}""gm"); 
  12.  
  13.         s = s.replace(reg, arguments[i + 1]); 
  14.  
  15.     } 
  16.  
  17.   
  18.  
  19.     return s; 
  20.  
  21. }; 
  22.  
  23.   
  24.  
  25.  $.get("https://github.com/popular/forked",function(html){ 
  26.  
  27.   
  28.  
  29.         var $doc = $(html); 
  30.  
  31.     console.log("No.  name  language  star   forks  "
  32.  
  33.         $doc.find("ul.repolist li.source").each(function(i,project){ 
  34.  
  35.   
  36.  
  37.         var $project = $(project); 
  38.  
  39.                var name = $project.find("h3").text().trim(); 
  40.  
  41.                var language = $project.find("li:eq(0)").text().trim(); 
  42.  
  43.                var star = $project.find("li.stargazers").text().trim(); 
  44.  
  45.                var forks = $project.find("li.forks").text().trim(); 
  46.  
  47.                var row =String.format("{4} {0}  {1}  {2}  {3}",name, 
  48.  
  49.                        language,star,forks,i + 1 ); 
  50.  
  51.                
  52.  
  53.                console.log(row); 
  54.  
  55.         }); 
  56.  
  57.  }); 

 

此项目寄宿在我Github https://github.com/greengerong/node-jquery-demo。仅供了解node-jquery学习demo,欢迎指教。





 本文转自 破狼 51CTO博客,原文链接:http://blog.51cto.com/whitewolfblog/1141712,如需转载请自行联系原作者


相关文章
|
7月前
|
Web App开发 缓存 JavaScript
Node.js 应用高 CPU 占用率的分析方法
Node.js 应用高 CPU 占用率的分析方法
125 0
|
2月前
|
监控 JavaScript 安全
监控内网电脑软件设计与实现:基于Node.js的服务器端架构分析
在当今信息技术高度发达的时代,监控内网电脑的需求日益增长。企业需要确保网络安全,个人用户也需要监控家庭网络以保护隐私和安全。本文将介绍一种基于Node.js的服务器端架构,用于设计和实现监控内网电脑软件。
119 0
|
2月前
|
数据采集 存储 JavaScript
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
本文旨在介绍如何利用PHP中的simple_html_dom库结合爬虫代理IP技术来高效采集和分析汽车之家网站的电动车参数。通过实际示例和详细说明,读者将了解如何实现数据分析和爬虫技术的结合应用,从而更好地理解和应用相关技术。
PHP爬虫技术:利用simple_html_dom库分析汽车之家电动车参数
|
4月前
|
开发者
jQuery.Deferred 在 SAP UI5 源代码中的应用分析
jQuery.Deferred 在 SAP UI5 源代码中的应用分析
17 0
|
6月前
|
Android开发
[慕课笔记]Node入口文件分析和目录初始化
[慕课笔记]Node入口文件分析和目录初始化
24 0
|
6月前
|
数据采集 JavaScript 前端开发
Node.js 中的 HTML 解析:技巧和最佳实践
在 Web 开发中,解析 HTML 是一个常见的任务,特别是当我们需要从网页中提取数据或操作 DOM 时。掌握 Node.js 中解析 HTML 的各种方式,可以大大提高我们提取和处理网页数据的效率。本文将介绍如何在 Node.js 中解析 HTML。
|
7月前
|
JavaScript 前端开发 API
使用 Dynatrace 对 Node.js 应用的性能数据进行分析
使用 Dynatrace 对 Node.js 应用的性能数据进行分析
31 0
|
11月前
|
负载均衡 前端开发 JavaScript
【Node.js实战】一文带你开发博客项目之联调(导入HTML、Nginx反向代理、CORS解决跨域、与前端联调)
【Node.js实战】一文带你开发博客项目之联调(导入HTML、Nginx反向代理、CORS解决跨域、与前端联调)
170 1
|
XML JavaScript 数据格式
Node.js使用cheerio解析html
Node.js使用cheerio解析html
124 0
|
前端开发 JavaScript 索引
重学前端 35 # HTML标准分析
重学前端 35 # HTML标准分析
99 0