从网站节点js抓取数据
scraping data from a website node js
我是从网站上抓取数据的新手,我想从以下位置抓取级别编号:https://fortnitetracker.com/profile/pc/Twitch.BadGuyBen,我已经尝试使用 cheerio 并请求完成此任务,但我不确定我是否使用正确选择器可能是一些关于我应该做什么的提示。这是我的代码:
var request = require('request');
var cheerio = require('cheerio');
var options = {
url: `https://fortnitetracker.com/profile/pc/Twitch.BadGuyBen`,
method: 'GET'
}
request(options, function (error, response, body) {
var $ = cheerio.load(body);
var level = "";
var xp = "";
$('.top-stats').filter(function(){
var data = $(this);
level = data.children().first().find('.value').text();
console.log(level);
})
});
我再次不确定我是否选择了正确的class非常感谢。
编辑:
“.top-stats”也出现在
website open in chrome dev tools
other .top-stats class
您不能使用 request
来获取 body,因为统计数据是使用 javascript 显示的。您将不得不使用 puppeteer
之类的东西来请求页面并执行 javascript 然后抓取统计信息。
我是从网站上抓取数据的新手,我想从以下位置抓取级别编号:https://fortnitetracker.com/profile/pc/Twitch.BadGuyBen,我已经尝试使用 cheerio 并请求完成此任务,但我不确定我是否使用正确选择器可能是一些关于我应该做什么的提示。这是我的代码:
var request = require('request');
var cheerio = require('cheerio');
var options = {
url: `https://fortnitetracker.com/profile/pc/Twitch.BadGuyBen`,
method: 'GET'
}
request(options, function (error, response, body) {
var $ = cheerio.load(body);
var level = "";
var xp = "";
$('.top-stats').filter(function(){
var data = $(this);
level = data.children().first().find('.value').text();
console.log(level);
})
});
我再次不确定我是否选择了正确的class非常感谢。
编辑:
“.top-stats”也出现在
website open in chrome dev tools
other .top-stats class
您不能使用 request
来获取 body,因为统计数据是使用 javascript 显示的。您将不得不使用 puppeteer
之类的东西来请求页面并执行 javascript 然后抓取统计信息。