client.on("message", async function(msg) {
var request = require('request');
var cheerio = require('cheerio');
request('https://www.youtube.com/channel/UCVRhrcoG6FOvHGKehYtvKHg/videos', async function(err, resp, body) {
if(err) throw err; else {
let $ = cheerio.load(body);
let views = $('#subscriber-count');
console.log(views.html());
}
})
})
这会将null
的值记录到控制台。我尝试了大约6到7种不同的方法,但无法正常工作。
我想通过Request&Cheerio抓取Youtube频道的订阅者人数。任何想法?请让我知道。
答案 0 :(得分:1)
为此使用官方的API,请不要解析页面。 API DOCS
https://www.googleapis.com/youtube/v3/channels?part=statistics&id=channel_id&key=your_key
client.on("message", async function(msg) {
var request = require('request');
var cheerio = require('cheerio');
request('https://www.googleapis.com/youtube/v3/channels?part=statistics&id=channel_id&key=your_key', async function(err, resp, body) {
if(err) throw err;
let data = JSON.parse(body);
})
})