我正在尝试编写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());
}
});
}
});
答案 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
选择所需的正确元素。我不检查网站。