javascript - 爬虫脚本不想用nodejs在控制台显示链接

标签 javascript jquery node.js cheerio

我尝试获取每个汽车版本的所有链接。一切顺利,直到第三个“请求”,当我在控制台中运行它时,它没有显示任何内容。我不知道为什么。你能帮我一下吗?

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 类 - 它仅在页面脚本执行后添加。但是cheeriodoes 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/

相关文章:

php - Android 和 JavaScript : How to know in javascript that an application is installed in the Android device or not?

jquery - 使用 jQuery 添加背景图像

jquery - div 内可调整大小的 div

javascript - 没有 ID 的多个 Bootstrap 轮播?

node.js - 有没有办法从AWS S3到达 "npm install"?

javascript - 设置数组的属性,在 chrome/node/canary 中返回时髦的数组?

javascript - 识别html代码

javascript - 如果 JQuery 中的 $.getJSON 无法使用德语,则将维基百科文本保存为英语

css - uncss 错误 : C. UTF-8:不是有效的语言标签

node.js - Firebase图像下载功能的Cloud Functions错误