站点地图(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((