我怎样才能一次打印所有内容
how can I print all together at once
我在下面有这段代码,这个想法是当用户提供参数(singer/s 名称)时,它会保存它并转到每个(歌手)的 URL 并打印所有歌曲并转到下一首(歌手姓名)url 并打印所有歌曲,依此类推,
此代码中的问题是,当它为第一个(歌手)打印并转到下一个时,它打印(第一个和第二个一起再次)
喜欢(第一,(第一+第二),(第一,第二,第三)...)
我如何一次打印整个东西,比如一次打印一次.. ??
我尝试在代码中的某些地方打印,它不起作用,
当我尝试打印 console.log(mailoutput);
它在 each loop
内部工作但在它外部时,它显示它是 Undefined
var request = require('request');
var cheerio = require('cheerio');
var urls = [];
var mailoutput ;
var songs = [];
// save all arguments into an array
for (let j = 2; j < process.argv.length; j++) {
urls.push(process.argv[j]);
}
// loop through the array
for(var i =0; i<urls.length; i++){
request('https://www.billboard.com/music/'+urls[i], function(error,response,body){
if(!error && response.statusCode == 200){
var $ = cheerio.load(body);
var title = $('a.artist,div.artist-name').each(function(i, element) {
mailoutput = $(this).text();
//console.log(mailoutput);
songs= songs +mailoutput;
});
} // END OF IF ERROR
console.log(songs);
}); // end of the REQUEST here
} // end of the LOOP here ...
您需要稍微更改一下代码
而不是:-
songs= songs +mailoutput;
做:-
songs.push(mailoutput);
完整代码需要:-
var request = require('request');
var cheerio = require('cheerio');
var urls = [];
var mailoutput ;
var songs = [];
for (let j = 2; j < process.argv.length; j++) {
urls.push(process.argv[j]);
}
for(var i =0; i<urls.length; i++){
request('https://www.billboard.com/music/'+urls[i], function(error,response,body){
if(!error && response.statusCode == 200){
var $ = cheerio.load(body);
var title = $('a.artist,div.artist-name').each(function(i, element) {
mailoutput = $(this).text();
songs.push(mailoutput); // you define as array so push values to array
});
}
});
}
console.log(songs);
```
for(var i =0; i<urls.length; i++){
request('https://www.billboard.com/music/'+urls[i], function(error,response,body){
if(!error && response.statusCode == 200){
var $ = cheerio.load(body);
var title = $('a.artist,div.artist-name').text();
console.log(title);
}
});
}
```
我在下面有这段代码,这个想法是当用户提供参数(singer/s 名称)时,它会保存它并转到每个(歌手)的 URL 并打印所有歌曲并转到下一首(歌手姓名)url 并打印所有歌曲,依此类推,
此代码中的问题是,当它为第一个(歌手)打印并转到下一个时,它打印(第一个和第二个一起再次)
喜欢(第一,(第一+第二),(第一,第二,第三)...)
我如何一次打印整个东西,比如一次打印一次.. ??
我尝试在代码中的某些地方打印,它不起作用,
当我尝试打印 console.log(mailoutput);
它在 each loop
内部工作但在它外部时,它显示它是 Undefined
var request = require('request');
var cheerio = require('cheerio');
var urls = [];
var mailoutput ;
var songs = [];
// save all arguments into an array
for (let j = 2; j < process.argv.length; j++) {
urls.push(process.argv[j]);
}
// loop through the array
for(var i =0; i<urls.length; i++){
request('https://www.billboard.com/music/'+urls[i], function(error,response,body){
if(!error && response.statusCode == 200){
var $ = cheerio.load(body);
var title = $('a.artist,div.artist-name').each(function(i, element) {
mailoutput = $(this).text();
//console.log(mailoutput);
songs= songs +mailoutput;
});
} // END OF IF ERROR
console.log(songs);
}); // end of the REQUEST here
} // end of the LOOP here ...
您需要稍微更改一下代码
而不是:-
songs= songs +mailoutput;
做:-
songs.push(mailoutput);
完整代码需要:-
var request = require('request');
var cheerio = require('cheerio');
var urls = [];
var mailoutput ;
var songs = [];
for (let j = 2; j < process.argv.length; j++) {
urls.push(process.argv[j]);
}
for(var i =0; i<urls.length; i++){
request('https://www.billboard.com/music/'+urls[i], function(error,response,body){
if(!error && response.statusCode == 200){
var $ = cheerio.load(body);
var title = $('a.artist,div.artist-name').each(function(i, element) {
mailoutput = $(this).text();
songs.push(mailoutput); // you define as array so push values to array
});
}
});
}
console.log(songs);
```
for(var i =0; i<urls.length; i++){
request('https://www.billboard.com/music/'+urls[i], function(error,response,body){
if(!error && response.statusCode == 200){
var $ = cheerio.load(body);
var title = $('a.artist,div.artist-name').text();
console.log(title);
}
});
}
```