cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server

cheerio 是一用來解析 HTML 的套件,該套件使用方式跟 jQuery 類似。


使用前需先用安裝套件。

npm install cherrio


安裝完後載入 cherrio 模組。

1
const cheerio = require('cheerio');


然後用 load 方法將 HTML 載入,載入後就可以像一般使用 jQuery 般帶入 Selector 去選取元素操作。

1
const $ = cheerio.load(html)


像是下面這樣:

1
2
3
4
5

const cheerio = require('cheerio');
const $ = cheerio.load('<h2 class="title">Hello world</h2>')

console.log($('h2').text());


使用起來跟在一般網頁上用 jQuery 是差不多的。更多操作可參閱 cheeriojs/cheerio: Fast, flexible, and lean implementation of core jQuery designed specifically for the server. 這邊。

1
2
3
4
5
6
const cheerio = require('cheerio');
const $ = cheerio.load('<div class="title"><h2>Hello world</h2></div>')

console.log($('.title').html());
console.log($('h2').text());
console.log($('div').attr('class'));


如果是用來 Parsing 一般網頁,就會在搭配 request 取得網頁的內容,程式會像下面這樣。這邊的範例是 Parsing 筆者部落格文章的 tag。

1
2
3
4
5
6
7
8
9
const cheerio = require('cheerio');
const request = require('request');
const url = 'http://larrynung.github.io/tags/';
request(url, (err, res, body) => {
const $ = cheerio.load(body);
$('div.tag-cloud-tags a').each(function(i, elem) {
console.log($(this).text());
});
})