使用CSS选择器从HTML中选择/提取html/text的节点
P粉356361722
P粉356361722 2024-03-19 19:41:22
0
1
410

假设我正在编写一个节点脚本,该脚本使用 fetch 将 html 页面内容检索到变量中。

现在我有一个用于此类内容的 CSS 选择器。我如何使用它来提取由 CSS 选择器识别的 html 和/或文本内容。

如果有我可以利用的现有工具/包,请给​​出两个级别的答案:

  1. 基于纯 CSS 选择器
  2. 基于 jQuery 的工具

P粉356361722
P粉356361722

全部回复(1)
P粉403549616

要提取 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() 方法提取所选元素的文本。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板