中文文檔(中文讀書我)
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的支持,並幫助我們維護和改善此開源項目的支持者。
麻省理工學院