我尝试获取每个汽车版本的所有链接。一切顺利,直到第三个“请求”,当我在控制台中运行它时,它没有显示任何内容。我不知道为什么。你能帮我一下吗?
var request = require('request');
var fetch=require('node-fetch');
var cheerio = require('cheerio');
var url="http://www.auto-selection.com/fiche-technique/alfa-romeo/";
console.log('starting');
request(url, function(err, resp, html) {
// Si il n'y a pas d'erreur afficher le code html de l'url
if (!err){
var $ = cheerio.load(html);
var link_model = $(".color3 a");
$(link_model).each(function (i, link) {
var link_models = $(this).attr('href');
// console.log(link_models);
request(link_models, function(err, resp, html){
if(!err){
var $= cheerio.load(html);
var link_model_year = $(".color3 a");
$(link_model_year).each(function (index, link) {
var links_models_years = $(this).attr('href');
// console.log(links_models_years);
request(links_models_years, function (err,resp,html) {
if(!err){
var $= cheerio.load(html);
var link_model_version = $(".sorting_1 a");
$(link_model_version).each(function () {
var links_models_versions = $(this).attr('href');
console.log(links_models_versions)
});
}
})
});
}
});
});
}
});
最佳答案
问题是加载的页面中没有 .sorting_1
类 - 它仅在页面脚本执行后添加。但是cheerio
does not produce a visual rendering, apply CSS, load external resources, or execute JavaScript
.
因此您需要使用另一种模式来搜索链接。例如这个:
var link_model_version = $("#AsFTList a");
关于javascript - 爬虫脚本不想用nodejs在控制台显示链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51908879/