我正在撰写网络抓取应用程序。我可以将它写成一个单独的脚本,它将根据需要返回一个数组。模块化我的代码并将其转换为函数时,应返回数组的代码将返回undefined。任何指针都会很棒。
"use strict";
let request = require("request");
let cheerio = require("cheerio");
function isNotUndefined(value){
if(value !==undefined){
return value;
}
}
function scrapeIndexPage(url){
var arr = new Array();
request(url, function(req,error,body){
var $ = cheerio.load(body);
var view = $("div.view-content");
view = view.html();
$ = cheerio.load(view);
for(var i=1;i<60;i++){
var getClass = ".class-row-"+i+" a";
var link = $(getClass).attr("href");
arr.push(link);
}
arr = arr.filter(isNotUndefined);
});
return arr;
}
var url = 'http://www.urlhere.com';
console.log(scrapeIndexPage(url));