假設我正在編寫一個節(jié)點腳本,該腳本使用 fetch
將 html 頁面內(nèi)容檢索到變量中。
現(xiàn)在我有一個用于此類內(nèi)容的 CSS 選擇器。我如何使用它來提取由 CSS 選擇器識別的 html 和/或文本內(nèi)容。
如果有我可以利用的現(xiàn)有工具/包,請給??出兩個級別的答案:
要提取 Node.js 中由 CSS 選擇器標識的 HTML/文本內(nèi)容,您可以使用各種包,例如 Cheerio、jsdom 或 Puppeteer。以下是如何使用 CSS 選擇器為基于純 CSS 選擇器和基于 jQuery 的工具提取內(nèi)容的示例:
基于純 CSS 選擇器: Cheerio 是一個快速且靈活的包,可以解析 HTML 并允許您使用 CSS 選擇器來提取數(shù)據(jù)。以下是如何使用 Cheerio 通過 CSS 選擇器提取內(nèi)容:
const cheerio = require('cheerio'); const html = 'Hello World!'; const $ = cheerio.load(html); const content = $('.content').text(); console.log(content); // Output: Hello World!
基于 jQuery 的工具: 如果您更喜歡 jQuery 語法,則可以使用 jQuery 或 JSDOM 等包。下面是一個使用 jQuery 的示例:
const jsdom = require('jsdom'); const { JSDOM } = jsdom; const html = 'Hello World!'; const dom = new JSDOM(html); const $ = require('jquery')(dom.window); const content = $('.content').text(); console.log(content); // Output: Hello World!
在這兩個示例中,我們首先使用包(Cheerio 或 JSDOM)加載 HTML 內(nèi)容,然后使用 CSS 選擇器選擇我們想要的內(nèi)容。最后,我們使用 text() 方法提取所選元素的文本。