Javascript 节点Js请求模块未访问网站上的正确位置
我正在尝试使用Node Js的请求模块制作一个脚本,该脚本将接受一个课程主题和编号,然后转到ASU课程目录,收集教授,并获取他们在RateMyProfessor上的分数,此时我正在尝试连接到:,这是CSE 205的站点,但是脚本改为,或者我假设类主题框是空的 这是出错时的脚本Javascript 节点Js请求模块未访问网站上的正确位置,javascript,node.js,request,Javascript,Node.js,Request,我正在尝试使用Node Js的请求模块制作一个脚本,该脚本将接受一个课程主题和编号,然后转到ASU课程目录,收集教授,并获取他们在RateMyProfessor上的分数,此时我正在尝试连接到:,这是CSE 205的站点,但是脚本改为,或者我假设类主题框是空的 这是出错时的脚本 const url = "https://webapp4.asu.edu/catalog/classlist?t=2201&s=CSE&n=205&e=all&page=1"; const
const url = "https://webapp4.asu.edu/catalog/classlist?t=2201&s=CSE&n=205&e=all&page=1";
const request = require("request");
const cheerio = require("cheerio");
request({
uri: url,
jar: true
}, (error, response, body) => {
if(!error && response.statusCode == 200) {
const $ = cheerio.load(body);
const test = $('#subjectEntry').html();
console.log(test); //Always returns empty rather than "CSE"
}
})
有没有一种方法可以让它直接进入网站的课程?如果它是一种搜索类的形式,我可以使用它,但它只是常规输入。
在任何其他网站上访问该网站都会找到正确的链接,这似乎只是Node Js访问该网站的问题。Axios和Puppeter也出现了同样的问题。问题很简单,ASU网站加载需要时间。由于网站一打开,刮板就抓取了信息,所以什么也找不到。我只是通过创建一个sleep函数并在异步函数中使用它来修复这个问题,并使用wait来确保站点已完全加载