如何使用Cheerio从YouTube抓取数据?

时间:2020-01-23 09:29:48

标签: node.js discord.js cheerio

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频道的订阅者人数。任何想法?请让我知道。

1 个答案:

答案 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);
      })
    })