Web scraping 使用cheerio标记br后的目标文本
我正在练习使用cheerio创建一个API。我从这个相当复杂的网站上抓取: 我正在尝试将这些Web scraping 使用cheerio标记br后的目标文本,web-scraping,axios,cheerio,Web Scraping,Axios,Cheerio,我正在练习使用cheerio创建一个API。我从这个相当复杂的网站上抓取: 我正在尝试将这些标记之后的文本定位在此元素中的锚定标记中: <td class="viCellBg1 cellTextNorm cellBorderL1 center_text nowrap" width="56"> <a class="cellTextNorm" href="/nfl/odds/las-vegas/line-movement/packers-@-
标记之后的文本定位在此
元素中的锚定标记中:
<td class="viCellBg1 cellTextNorm cellBorderL1 center_text nowrap"
width="56">
<a class="cellTextNorm" href="/nfl/odds/las-vegas/line-movement/packers-@-
bears.cfm/date/9-05-19/time/2020#BT" target="_blank">
<br>46u-10<br>-3½ -10
</a>
</td>
您可以看到,我能够将此框中的所有文本输出为newObj.locks值。我试图使用类似于下一行的东西,在下一行中,我以td元素为目标,循环并将每一行分解为它自己的newObj属性,例如newObj.oddsLine1和newObj.oddsLine2
希望这是有道理的。非常感谢您的帮助 不能使用cheerio选择文本节点,需要使用js dom属性/函数:
$('td a br')[0].nextSibling.nodeValue
注$(css)[0]将作为js对象(而不是cheerio对象)为您提供第一个元素。谢谢,它肯定针对我要查找的每一行。我的下一个问题是,假设我只想针对该页面“VI共识”栏中的值?我想做一个循环,因为不管行的数量多少,行的位置都是一致的,但我也认为这似乎太复杂了,而且在这方面有更聪明的大脑。看起来像
$('.cellTextNorm:nth child(3)')。map((I,el)=>$(el.text()).get()
我如何像解析text()一样解析节点值?nodeValue是一个字符串。我想你可以用正则表达式解析它。
$('td a br')[0].nextSibling.nodeValue