Web scraping web抓取课程详细信息中出现噩梦错误

Web scraping web抓取课程详细信息中出现噩梦错误,web-scraping,nightmare,Web Scraping,Nightmare,嗨,我正在使用噩梦从网站上刮取数据和课程细节。我遇到一个问题:- 错误:{消息:“导航错误”, 代码:0, 详情:'好', 网址:'https://www.myskills.gov.au/courses/details?Code=CHC14015“} 在每次url遍历时。请建议我解决这个问题: var Nightmare = require('nightmare') var vo = require('vo') var fs = require('fs') var filesyste

嗨,我正在使用噩梦从网站上刮取数据和课程细节。我遇到一个问题:-

错误:{消息:“导航错误”, 代码:0, 详情:'好', 网址:'https://www.myskills.gov.au/courses/details?Code=CHC14015“}

在每次url遍历时。请建议我解决这个问题:

   var Nightmare = require('nightmare')

var vo = require('vo')

var fs = require('fs')

var filesystem = require('file-system')
// var nightmare = Nightmare({show:true});

var sleep = require('sleep');

vo(run)(function(err, result) {

 if (err) throw err

  console.log("Hi");

})

function *run() {
 
 var nightmare = Nightmare({show:true});

  console.log("1st step *run");

  yield nightmare

    .goto('https://www.myskills.gov.au/courses/search/')

    .wait(12000)

    //.click('#select3 value="100")

    .evaluate(function () {

          var hrefs = [];

        $('.search-result h4 a').each(function()

        {
            var course = new Object();

            course.title = $(this).html();

            course.link = $(this).attr('href');

            course.code = $('.search-result .col-md-2.text-small 
span').html();
           hrefs.push(course);

        });

       return hrefs;

    })

  .then(function(str){

    console.log("2nd step evaluate then on page load");

       console.log(str);

      for(var i=0; i< 8; i++)

      {
           console.log(i);

           sleep.sleep(1);
           var link = "https://www.myskills.gov.au";

           var coursetitle =  str[i].title

           var courselink = link +str[i].link+"\n";

           var coursesinglelink = link +str[i].link;

           var courseData = coursetitle+"\n"+str[i].code+"\n"+courselink;

        fs.appendFile('getcourselink.txt', courseData, function (err) {
              if(err) console.log(err);
            });

        vo(run1)(function(err, result) {
          if (err) console.log ("err: ",err);

          console.log("Hi in run1");
        //console.log(result);

      });
          function *run1() {
            console.log("I  2nd time:-"+i);

            console.log(coursesinglelink);

            sleep.sleep(2);
          var nightmare1 = Nightmare({show:true});

          yield nightmare1

            .goto(coursesinglelink)

            .wait(9000)

            .evaluate(function () {
                var str="Hi";

          var  CourseDetails =  $('#details #courseStructureDiv 
#packagingrules').text();
                str = str+"\n"+CourseDetails;
            return str;

            })

            .then(function(str){
              console.log("Run inner then",str);

            fs.appendFile('getcourselink.txt', str, function (err) {
                  if(err) console.log(err);
                });

            //  nightmare1.end();
            });

        }
      //nightmare.end();
    //  nightmare.proc.disconnect();
    // nightmare.proc.kill();
    // nightmare.ended = true;
    // nightmare = null;

      }

    });


}
var噩梦=require('噩梦')
var vo=require('vo')
var fs=require('fs')
var filesystem=require('文件系统')
//var噩梦=噩梦({show:true});
var sleep=require(‘sleep’);
vo(运行)(功能(错误、结果){
如果(错误)抛出错误
控制台日志(“Hi”);
})
函数*run(){
var噩梦=噩梦({show:true});
控制台日志(“第一步*运行”);
屈服噩梦
后藤先生('https://www.myskills.gov.au/courses/search/')
.等等(12000)
//。单击(“#选择3 value=“100”)
.评估(功能){
var-hrefs=[];
$('.search result h4 a')。每个(函数()
{
var course=新对象();
course.title=$(this.html();
course.link=$(this.attr('href');
course.code=$('.search result.col-md-2.text-small
span').html();
hrefs.push(过程);
});
返回HREF;
})
.then(函数(str){
日志(“第二步评估然后页面加载”);
console.log(str);
对于(变量i=0;i<8;i++)
{
控制台日志(i);
睡眠。睡眠(1);
变量链接=”https://www.myskills.gov.au";
var coursetitle=str[i]。标题
var courselink=link+str[i]。link+“\n”;
var coursesinglelink=link+str[i].link;
var courseData=coursetitle+“\n”+str[i]。代码+“\n”+courselink;
fs.appendFile('getcourselink.txt',courseData,函数(err){
if(err)console.log(err);
});
vo(运行1)(函数(错误、结果){
if(err)console.log(“err:,err”);
log(“运行1中的Hi”);
//控制台日志(结果);
});
函数*run1(){
console.log(“第二次输入时-”+I);
控制台日志(CourseSingelink);
睡眠。睡眠(2);
var噩梦1=噩梦({show:true});
产生噩梦1
.goto(CourseSingelink)
.等等(9000)
.评估(功能){
var str=“Hi”;
var CourseDetails=$(“#详细信息#courseStructureDiv
#包装规则“).text();
str=str+“\n”+课程详细信息;
返回str;
})
.then(函数(str){
log(“运行内部然后”,str);
appendFile('getcourselink.txt',str,function(err){
if(err)console.log(err);
});
//噩梦1.结束();
});
}
//噩梦。结束();
//dream.proc.disconnect();
//噩梦。过程。杀死();
//噩梦结束=真;
//噩梦=空;
}
});
}

正在等待尽快回复。您的问题无法理解。参考:。一旦你的问题清楚了,人们至少可以试着回答。