Я занимаюсь созданием API путем очистки с помощью cheerio.Я снимаю с этого довольно запутанного сайта: http://www.vegasinsider.com/nfl/odds/las-vegas/
Я пытаюсь настроить таргетинг текста после этих <br>
тегов внутри тега привязки в этом элементе <td>
:
<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>
Код ниже - то, что я использую, чтобы предназначаться для данных, которые я хочу.Проблема в том, что я не знаю, как получить этот текст после тегов <br>
.Я попробовал .find ('br') и не смог заставить его работать.Вот код:
app.get("/nfl", function(req, res) {
var results = [];
axios.get("http://www.vegasinsider.com/nfl/odds/las-vegas/").then(function(response) {
var $ = cheerio.load(response.data);
$('span.cellTextHot').each(function(i,element) {
// console.log($(element).text());
var newObj = {
time:$(element).text()
}
$(element).parent().children().each(function(i,thing){
if(i===2){
newObj.awayTeam = $(thing).text();
}
else if (i===4){
newObj.homeTeam = $(thing).text();
}
});
newObj.odds= $(element).parent().next().next().text().trim();
$('.frodds-data-tbl').find('td').next().next().children().each(function(o, oddsThing){
if(o===0){
newObj.oddsThing = $(oddsThing).html();
}
});
res.json(results);
});
});
Вы можете видеть, что я могу вывести весь текст в этом поле в значение newObj.odds.Я пытался использовать что-то вроде следующей строки, где я нацеливаюсь на этот элемент td, перебираю и разбиваю каждую строку на свое собственное свойство newObj, например, newObj.oddsLine1 и newObj.oddsLine2.
Надеюсь, чтоимеет смысл.Любая помощь очень ценится.