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

Puppeteer爬取意式博彩站:为$()选中元素添加分隔符求助

解决Puppeteer爬取博彩网站对阵信息的格式化问题

我懂你现在的困扰——用Puppeteer爬取意大利博彩网站时,获取到的对阵球队信息全都挤成一团,完全没法区分场次。其实问题出在你直接用$('span.AvvenimentoDescription-rieyuj-0').text()的方式,它会把所有匹配到的span元素的文本直接无间隔拼接起来,自然就出现了Bologna - BresciaCagliari - Parma这种乱糟糟的结果。

要解决这个问题,核心思路是逐个获取每个span的文本内容,再用你想要的分隔符(空格、逗号都行)把它们拼接起来,下面给你两种实用的写法:

1. jQuery写法(如果页面引入了jQuery)

// 遍历每个匹配的span,收集文本后用逗号加空格拼接
let matches = $('span.AvvenimentoDescription-rieyuj-0')
  .map(function() {
    return $(this).text();
  })
  .get()
  .join(', '); 

// 如果想用空格分隔,就换成.join(' ')
// let matches = $('span.AvvenimentoDescription-rieyuj-0').map(...).get().join(' ');

console.log(matches);

2. 原生JavaScript写法(更适配Puppeteer场景)

在Puppeteer里通常会用page.evaluate()执行页面内的JS,原生写法兼容性更好:

// 注意在Puppeteer里要加await,因为evaluate是异步操作
const matches = await page.evaluate(() => {
  // 获取所有目标span元素
  const matchElements = document.querySelectorAll('span.AvvenimentoDescription-rieyuj-0');
  // 把NodeList转成数组,逐个提取文本,再用分隔符拼接
  return Array.from(matchElements)
    .map(element => element.textContent.trim()) // 顺便去掉文本前后可能的冗余空格
    .join(', '); // 换成' '就能得到空格分隔的版本
});

console.log(matches);

这样处理后,你就能得到格式清晰的对阵信息了,比如Bologna - Brescia, Cagliari - Parma, Sassuolo - Roma...或者带空格的版本,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 13:58:05