Web scraping web抓取课程详细信息中出现噩梦错误
嗨,我正在使用噩梦从网站上刮取数据和课程细节。我遇到一个问题:- 错误:{消息:“导航错误”, 代码:0, 详情:'好', 网址:'https://www.myskills.gov.au/courses/details?Code=CHC14015“} 在每次url遍历时。请建议我解决这个问题: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
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();
//噩梦。过程。杀死();
//噩梦结束=真;
//噩梦=空;
}
});
}
正在等待尽快回复。您的问题无法理解。参考:。一旦你的问题清楚了,人们至少可以试着回答。