Heim > Fragen und Antworten > Hauptteil
Angenommen, ich schreibe ein Knotenskript, das fetch
verwendet, um den Inhalt der HTML-Seite in eine Variable abzurufen.
Jetzt habe ich einen CSS-Selektor für diese Art von Inhalten. Wie kann ich damit HTML- und/oder Textinhalte extrahieren, die von CSS-Selektoren erkannt werden?
Wenn es vorhandene Tools/Pakete gibt, die ich nutzen kann, geben Sie bitte eine zweistufige Antwort:
P粉4035496162024-03-20 10:58:17
要提取 Node.js 中由 CSS 选择器标识的 HTML/文本内容,您可以使用各种包,例如 Cheerio、jsdom 或 Puppeteer。以下是如何使用 CSS 选择器为基于纯 CSS 选择器和基于 jQuery 的工具提取内容的示例:
基于纯 CSS 选择器: Cheerio 是一个快速且灵活的包,可以解析 HTML 并允许您使用 CSS 选择器来提取数据。以下是如何使用 Cheerio 通过 CSS 选择器提取内容:
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 内容,然后使用 CSS 选择器选择我们想要的内容。最后,我们使用 text() 方法提取所选元素的文本。