【问题标题】:Scraping a website returns an unexpected empty value in Node.JS [closed]抓取网站在 Node.JS 中返回意外的空值 [关闭]
【发布时间】:2020-07-13 04:26:57
【问题描述】:

我正在尝试在网站上抓取玩家数量,但我的代码一直返回为空。我做错了什么?

我正在尝试抓取这个网站:https://www.game-state.com/193.203.39.13:7777/,我想要 console.log 的值是 Players: x/1000

setInterval(function() {
  var url = 'https://www.game-state.com/193.203.39.13:7777/';
  request(url, function(err, response, body) {
    var $ = cheerio.load(body);
    var players = $('.value #players');
    var playersText = players.text();
    console.log(playersText);
  })
}, 300)

【问题讨论】:

标签: node.js cheerio


【解决方案1】:

您的选择器错误。

您正在选择 ID 为 players 的任何标签,该标签 value 的标签内。你想要的是同时检查同一个元素。问题是 .value#players 之间的空格 - 删除它:.value#players

提示:首先在浏览器中尝试...转到页面,打开 devtools,输入 document.querySelector('.value #players') - 你会看到它返回为空。使用.value#players 即可。

但是,由于 ID 应该是唯一的,所以无论如何只要 ID #players 就足够了。

【讨论】:

    猜你喜欢
    • 2013-06-01
    • 1970-01-01
    • 2018-05-11
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多