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

JavaScript网络爬虫:Cheerio提取ref Node中价格data字段问题

解决方案

你获取到的price[i]是包裹了text节点的数组结构,目标data属性在数组第一个元素下,直接取值即可:
在你的循环内添加一行价格推入逻辑:

MKEUPrice.push(price[i][0].data);

如果想要更简洁且兼容性更强的写法,也可以直接用Cheerio封装的.text()方法读取元素文本,不需要手动操作原生节点:

  1. 把获取price的代码修改为:
let price = $('.price_color');
  1. 循环内读取价格的逻辑改为:
const currentPrice = $(price[i]).text().trim();
MKEUPrice.push(currentPrice);
console.log(currentPrice);

最后返回给前端的对象里加上价格字段即可:

let arr = MKEUResults.map((res, idx) => {
    return {'name': res, "img": MKEUThumbs[idx], "price": MKEUPrice[idx]}
});

可选优化:如果后续出现商品名称、图片、价格索引不匹配的问题,建议改为遍历每个商品父节点再分别提取对应字段,避免因为页面结构变动导致的错位问题。

内容的提问来源于stack exchange,提问作者Caio Ishikawa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:54:02