使用node.js和cheerio抓取OP.GG网站的问题

朱利安·罗德里格斯

我是 node.js 和cheerio 的初学者,有一点帮助会很棒:D

我尝试抓取 pubg.op.gg 网站以在控制台中显示两个简单的元素。这是我的代码:

var url = "https://pubg.op.gg/user/K1uu"
var request = require('request');
var cheerio = require('cheerio');
var cheerioAdv = require('cheerio-advanced-selectors');

request(url, function(err, resp, body) {
    var $ = cheerio.load(body);
    var playerName = $('.player-summary__name');
    var playerNameText = playerName.text();
    console.log(playerNameText);

    var playerRank = $('.ranked-stats__rating-point');
    var playerRankText = playerRank.text();
    console.log(playerRankText);   
})

值的图像

我试着有这样的东西:“Kyuu - 1503” playernickname 的 Kyuu 值没问题,但不可能有 1503 但是 div 的名称是正确的!我的问题在哪里?

谢谢你们 !!

阿科斯K

嘿,欢迎来到 StackOverflow!

该网站使用 AJAX 来获取评级,因此在加载 HTML 时评级不可用,并且ranked-stats__rating-point该类尚不存在。如果您使用浏览器的开发人员工具检查它,您可以看到它为 3 个不同的评级点请求了 3 个额外的 URL(唯一的区别是queue_sizeURL 参数)。

https://pubg.op.gg/api/users/59fdce2bdf1b210001a9324d/ranked-stats?season=pc-2018-01&queue_size=1&mode=tpp
https://pubg.op.gg/api/users/59fdce2bdf1b21004s/59fdce2bdf1b21004d/a ?season=pc-2018-01&queue_size=2&mode=tpp
https://pubg.op.gg/api/users/59fdce2bdf1b210001a9324d/ranked-stats?season=pc-2018-01&queue_size=4&mode=tpp

您应该能够像这样请求第一个评级:

var url = "https://pubg.op.gg/api/users/59fdce2bdf1b210001a9324d/ranked-stats?season=pc-2018-01&queue_size=1&mode=tpp";
var request = require('request');

request(url, function(err, resp, body) {
  var jsonData = JSON.parse(body);
  var score = jsonData['stats']['rating'];
  console.log(score);  // outputs "1520"
} );

但是,用户名无法从这些端点获得,因此如果您想为任意用户名获取这些端点,则需要为此找到另一个 API 端点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

html使用cheerio js和node js抓取td元素

Cheerio - Node js 抓取评论和星星数量

如何使用Cheerio和Puppeter将HTML网站抓取到JSON中?

如何使用Python从统计跟踪网站(cod.tracker.gg)抓取正确的元素

使用Cheerio Node.js抓取表格数据

无法使用Node JS + Cheerio抓取html元素

使用 vba 从网站抓取数据 - 问题

使用 BeautifulSoup 从网站抓取数据的问题

如何使用Node.js抓取JavaScript(VueJS,ReactJS)网站

如何抓取使用node.js异步加载数据的网站?

从某些网站抓取 html 时遇到问题,是否必须启用 JS 和 cookie?使用 requests 和 bs4 进行抓取

使用节点和cheerio.js 抓取具有rowspan 属性的HTML 表格

使用node.js在我的网站中实施yahoo搜索时出现Yahoo OAuth授权问题

使用lxml和xpath抓取网站后出现数据类型问题

抓取问题使我的旅行航班数据使用了cheerio

从特定网站请求 Node.js 中的 XML 的问题

如何使用Axios和Cheerio实现多页抓取

使用NGINX服务静态网站和SPA(node.js)

使用Node.js从网站获取图像

使用Java Jsoup抓取网站时出现问题,网站未“滚动”

使用cheerio 抓取页面

使用Node JS和React js的文件加载问题

使用Python登录网站和网页抓取

使用Python从网站抓取和排序日期

使用jsoup和android抓取网站链接

使用 Beaufifulsoup 和 Requests 从网站抓取内容

使用 selenium 和 python 抓取的实时网站

使用Node.js和请求进行Web抓取

BigQuery:使用Node.js删除和更新行的问题