Cheerio 是一个基于 Node.js 的快速、灵活且功能强大的 HTML 解析器,它实现了 jQuery 的核心 API,但专门用于服务器端环境。与浏览器中的 jQuery 不同,Cheerio 不渲染 DOM,不处理 CSS 样式,也不执行 JavaScript,这使得它非常轻量且高效。
Cheerio 的核心特点包括:
- 轻量级:核心代码只有几百行,性能优异
- jQuery 语法:使用熟悉的 jQuery 选择器和操作方法
- 服务器端使用:在 Node.js 环境中运行,不依赖浏览器
- 快速解析:使用 htmlparser2 作为底层解析器,解析速度快
- 灵活性:支持多种 HTML/XML 解析选项
Cheerio 的典型使用场景包括网页爬虫、数据抓取、HTML 内容处理等。它可以从 HTML 字符串或文件中提取数据,修改 DOM 结构,生成新的 HTML 内容等。
基本用法示例:
javascriptconst cheerio = require('cheerio'); const $ = cheerio.load('<div class="container"><p>Hello World</p></div>'); // 使用 jQuery 选择器 $('p').text(); // 'Hello World' $('.container').html(); // '<p>Hello World</p>' // 修改 DOM $('p').addClass('highlight').text('Updated Text');
Cheerio 适合处理静态 HTML 内容,如果需要处理动态渲染的页面(需要执行 JavaScript),则需要结合 Puppeteer 或 Playwright 等工具使用。