我在用node爬取数据,用了request模块和cheerio模块,我在获取到了一个url后,用数组获取到了该url下的分页(假设为1-10),但是当打印数据后,发现只获取到了分页1下的数据
代码如下:
for (var i = data.start; i <= data.end; i++) { var newUrl; if ( i == 1 ) { newUrl = data.url; } else { newUrl = data.url + '#!hot-p' + i; } urlList.push(newUrl); } async.eachSeries(urlList, function(elem, callback){ //requestUrl(elem, data.tag, callback); request(elem, function(err, res){ var $ = cheerio.load(res.body.toString()); var j = $('.j'); var a = j.find('.a').toArray(); var hrefArray = []; for (var i=0;i< a.length;i++){ var that = $(a[i]); var aHref = that.attr('href'); var urls = 'http://www.duitang.com' + aHref; hrefArray.push(urls); } console.log(hrefArray); callback(); }); }, function(err){ if (err) { console.log(err); }else{ console.log('已完成全部抓取!'); } callback(); }); console.log(hrefArray); 打印出来的数据全是分页1下的数据,请问这是为什么?