在div网络抓取中获取属性

时间:2019-08-25 23:02:48

标签: javascript node.js cheerio

我正在尝试使用cheerio对体育website进行网络景观。我需要做的一件事情是从此行中data-gameid

<div class="component game scoreboard-game margin-24-bottom epl full time  margin-24-bottom" data-gameid="2146609" data-league="epl" data-show-date="" data-extra-class="margin-24-bottom" data-viewport-width="">

我真的不知道如何获得data-gameid号。我知道这是一个简短的问题,但是我不知道该说些什么使它更具体

2 个答案:

答案 0 :(得分:0)

如果要从DOM树中获取它,只需使用.attr方法。

const gameId = $('.game').attr('data-gameid');

如果您要谈论从该字符串中提取它,请执行以下操作。

const nodeStr = `<div class="component game scoreboard-game margin-24-bottom epl full time  margin-24-bottom" data-gameid="2146609" data-league="epl" data-show-date="" data-extra-class="margin-24-bottom" data-viewport-width="">`;
const gameId = /data-gameid="(\d+)"/mgi.exec(nodeStr)[1]; // "2146609"

答案 1 :(得分:0)

使用jQuery的.data方法,如下所示:

$(".game").data("gameid");

或使用.attr

$(".game").attr("data-gameid");

或者使用纯JavaScript解决方案:

document.querySelector(".game").getAttribute("data-gameid");