如何使用CheerioGS只收集XPATH返回的数据的第二个文本值



站点地图(https://futebolnatv.com.br/jogos-hoje/)看起来像这样:

<div class="col-md-01">
<div class="col-md-12">
<span class="label label-default">0</span>
<img src="https://futebolnatv.com.br/static/times/ba92f23d6f11341548d808a0ec309acc.png" width="25" height="25">
"Holstein Kiel"
</div>

使用CheerioGS,为了收集文本值,我使用以下路径:

let elements_2 = $('tbody > tr > td > div:nth-child(2)')
elements_2.each((index, value) => {
sheet.getRange(index+1, 3).setValue($(value).text().trim())
})

但它的名字不是Holstein Kiel,而是插入到<span>中的这个数字,我不想要:

0
Holstein Kiel

预期回报为:

Holstein Kiel

我应该更改什么来解决此问题?

CheerioGS项目:
https://github.com/tani/cheeriogs

您需要从更改选择器

$(value).text().trim()

$(value).contents().last().text().trim()

说明:您不需要检索整个匹配元素的文本,而是需要先获取它的所有节点(通过contents()(,然后再获取所需的文本节点(通过last()(。其余代码保持不变。


参考:

  • https://cheerio.js.org/classes/Cheerio.html#contents
  • https://cheerio.js.org/classes/Cheerio.html#last

您也可以删除这些,有时会更快:$('.label'(.remove((

相关内容

最新更新