使用cheerio提取元素

时间:2018-04-23 04:09:28

标签: javascript node.js cheerio

我正在尝试编写nodejs代码,将用户的参数作为歌手名称,然后转到https://www.billboard.com/charts/rap-song中的指定歌手页面,并打印所有歌曲的名称

例如,如果我运行:Node Singer.js Drake,它将进入drake页面并打印所有歌曲,

我不知道该怎么做,请有人帮帮我。

var request = require('request');
var cheerio = require('cheerio');
const args = process.argv;  

request('https://www.billboard.com/charts/rap-song', function(error,response,html){
if(!error && response.statusCode == 200){

     var $ = cheerio.load(html);
   $('a.chart-row__artist').each(function(i, element) {
            if(i%2==1 && i<20){
                console.log($(this).text());
                  }
        });
}
});

1 个答案:

答案 0 :(得分:0)

使用此

var url = "https://www.billboard.com/music/" + singerName;

request({
  uri: url,
  timeout: 120000
}, function (error, response, body) {
  if (typeof body === 'undefined') {
      console.log("error");
  } else {

     var $ = cheerio.load(html);
     $('a.chart-row__artist').each(function(i, element) {
        if(i%2==1 && i<20){
            console.log(element);
        }
     });

  }
});

使用正确的网址进行请求,然后使用Cheerio选择所需的正确元素。我不检查网站。