Node.js: HTML 作为字符串解析器

Node.js: HTML as string parser

我正在尝试找到一个可以解析 HTML 复杂查询的 NodeJS library/package。

例如,对于输入:

var html-parser = require('magical-parser');
var htmlStr = '<div class="wrapper"><span id="spanny"></span></div>';

var parsedHtml = html-parser.parse(htmlStr);

console.log(parsedHtml.findById('spanny')); 
// prints <span id="spanny"></span>

console.log(parsedHtml.findByclass('spanny'));
// prints <div class="wrapper"><span id="spanny"></span></div>

您可以使用cheerio实现核心jQuery专门为服务器设计)

var cheerio = require('cheerio');
var htmlStr = '<div class="wrapper"><span id="spanny"></span></div>';
var $ = cheerio.load(htmlStr);

console.log($('#spanny')); // get element by id 
console.log($('.spanny')); // get element by class 

您可以使用 Cheeriojs 在已解析的 dom 中使用 jQuery。这是一些示例代码。

var cheerio = require('cheerio'),
    $ = cheerio.load('<div class="wrapper"><span id="spanny"></span></div>');

console.log($('#spanny').text());