中文文档(中文读书我)
import * as cheerio from 'cheerio' ;
const $ = cheerio . load ( '<h2 class="title">Hello world</h2>' ) ;
$ ( 'h2.title' ) . text ( 'Hello there!' ) ;
$ ( 'h2' ) . addClass ( 'welcome' ) ;
$ . html ( ) ;
//=> <html><head></head><body><h2 class="title welcome">Hello there!</h2></body></html> npm install cheerio
❤经过验证的语法: Cheerio实现了核心jQuery的子集。 Cheerio从JQuery图书馆中删除了所有DOM矛盾和浏览器Cruft,并揭示了其真正华丽的API。
ϟ快速速度: Cheerio可与非常简单,一致的DOM模型一起使用。结果,解析,操纵和渲染非常有效。
❁令人难以置信的灵活性: Cheerio围绕Parse5包裹用于解析HTML,并且可以选择使用宽恕的HTMLPARSER2。 Cheerio几乎可以解析任何HTML或XML文档。 Cheerio在浏览器和服务器环境中工作。
首先,您需要在HTML中加载。 jQuery中的这一步骤是隐式的,因为jQuery在一个烤制的dom上运行。使用Cheerio,我们需要通过HTML文档。
// ESM or TypeScript:
import * as cheerio from 'cheerio' ;
// In other environments:
const cheerio = require ( 'cheerio' ) ;
const $ = cheerio . load ( '<ul id="fruits">...</ul>' ) ;
$ . html ( ) ;
//=> <html><head></head><body><ul id="fruits">...</ul></body></html>加载HTML后,您可以使用jQuery风格的选择器在文档中找到元素。
selector在context范围内搜索,该范围在root范围内搜索。 selector和context可以是字符串表达式,DOM元素,DOM元素的数组或Cheerio对象。 root (如果提供)通常是HTML文档字符串。
此选择器方法是遍历和操纵文档的起点。像在jQuery中一样,这是选择文档中元素的主要方法。
$ ( '.apple' , '#fruits' ) . text ( ) ;
//=> Apple
$ ( 'ul .pear' ) . attr ( 'class' ) ;
//=> pear
$ ( 'li[class=orange]' ) . html ( ) ;
//=> Orange准备渲染文档时,您可以在“ root”选择上调用html方法:
$ . root ( ) . html ( ) ;
//=> <html>
// <head></head>
// <body>
// <ul id="fruits">
// <li class="apple">Apple</li>
// <li class="orange">Orange</li>
// <li class="pear">Pear</li>
// </ul>
// </body>
// </html>如果要渲染选择的outerHTML HTML,则可以使用outerHTML Prop:
$ ( '.pear' ) . prop ( 'outerHTML' ) ;
//=> <li class="pear">Pear</li>您也可以使用text方法渲染Cheerio对象的文本内容:
const $ = cheerio . load ( 'This is <em>content</em>.' ) ;
$ ( 'body' ) . text ( ) ;
//=> This is content.Cheerio集合由与基于浏览器的DOM节点有一定相似之处的对象组成。您可以期望他们定义以下属性:
tagNameparentNodepreviousSiblingnextSiblingnodeValuefirstChildchildNodeslastChildhttps://vimeo.com/31950192
本视频教程是Nettut的“如何使用node.js and jquery刮擦网页”的后续措施,使用Cheerio而不是JSDOM + JQUERY。该视频显示了使用Cheerio的容易程度以及比JSdom + jQuery快的速度。
您在生产中使用Cheerio吗?将其添加到Wiki中!
贵公司在生产中使用Cheerio吗?请考虑赞助这个项目!您的帮助将使维护者能够将更多的时间和资源用于其开发和支持。
标题赞助商
其他赞助商
成为支持您对Cheerio的支持,并帮助我们维护和改善此开源项目的支持者。
麻省理工学院