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

使用Cheerio爬取网页时多选择器组合无输出,求排查问题

问题分析与解决

嘿,我一眼就看出问题在哪啦!你写的 $('a.text--title' , 'div.artist-name') 其实是 Cheerio 的上下文选择器用法——它的意思是:在 div.artist-name 这个上下文(父容器)里查找 a.text--title 元素。如果你的页面里没有这种嵌套关系,自然就找不到任何元素,所以才会没有输出。

要同时选择 a.text--title 和 div.artist-name 这两类元素,你需要把两个选择器放在同一个字符串里,用逗号分隔(这是 CSS 选择器的标准语法),表示“匹配任意一个选择器的元素”。

修改后的代码

$('a.text--title, div.artist-name').each(function(i, element) {
  var mailoutput = $(this).text();
  console.log(mailoutput);
});

额外小提示

如果之后你需要区分当前遍历的元素是标题还是艺术家名称,可以通过判断标签名或者类名来做针对性处理:

$('a.text--title, div.artist-name').each(function(i, element) {
  const $el = $(this);
  let content = $el.text();
  if ($el.is('a.text--title')) {
    console.log('标题:', content);
  } else if ($el.is('div.artist-name')) {
    console.log('艺术家:', content);
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:32:07