You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery/Cheerio选择器获取<b>标签文本?链接提取代码出错排查

解答你的两个问题

1. 用jQuery或Cheerio获取<b>标签内的文本

不管是jQuery还是Cheerio,用法其实挺像的,给你分情况说:

jQuery 写法

如果只是拿第一个匹配到的<b>标签文本,一行代码就搞定:

// 获取第一个<b>标签的文本内容
const boldText = $('b').text();

要是想把页面上所有<b>标签的文本都捞出来,存成数组的话,可以这么写:

const allBoldTexts = $('b').map((index, element) => {
  return $(element).text();
}).get();

这里text()方法会自动去掉HTML标签,只留纯文本;要是你需要连标签里的HTML结构一起拿,换成html()就行。如果要定位特定的<b>标签(比如带class或id的),直接把选择器写精准点,比如$('b.highlight').text()或者$('#main-bold').text()。

Cheerio 写法

Cheerio就是Node端的“jQuery”,API几乎一模一样,举个例子:

const cheerio = require('cheerio');
// 假设这是你加载的HTML内容
const html = '<div><b>第一行粗体</b><p><b>第二行粗体</b></p></div>';
const $ = cheerio.load(html);

// 单个<b>标签文本
const singleBold = $('b').text();
// 所有<b>标签文本数组
const allBold = $('b').map((i, el) => $(el).text()).get();

2. 提取链接失败的问题排查

哎,你没把你尝试的代码贴出来呀!没法直接帮你揪出问题。不过我可以给你列几个常见的坑,你先自查看看:

  • 选择器写错了:比如链接在<a>标签的href属性里,但你选了<div>或者其他标签,自然拿不到;或者选择器的class/id拼错了
  • 动态内容的问题:如果页面是用JS动态渲染的链接(比如滚动加载、点击加载),Cheerio作为静态HTML解析工具是抓不到的,这时候得用Puppeteer这类能模拟浏览器的工具;要是用jQuery在浏览器里,得确保代码在元素加载完成后执行(比如放在$(document).ready()里)
  • 相对路径没处理:提取到的href是相对路径(比如/page/1),直接用的话会报错,得拼接上网站的域名变成绝对路径
  • 没遍历所有元素:比如用$('a').attr('href')只会返回第一个<a>标签的链接,要拿所有的话得用map方法遍历

要是把你的代码贴出来(记得用反引号包裹,格式清晰点),我就能帮你精准找出问题啦!

内容的提问来源于stack exchange,提问作者Worapol Pragobkit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:00:29