使用npm搜寻器搜寻链接时,出现错误:
C:\Users\ryani\Desktop\JavaScript\crawler\crawler.js:15
$('a').each(function(index, value) {
^
TypeError: Cannot read property 'each' of undefined
我尝试设置超时和各种调试技术...我不确定为什么它变得不确定。当我将代码放在html页面上的标签中时,它可以正常工作。
crawler.js:
var Crawler = require("crawler");
var c = new Crawler({
"maxConnections":10,
"callback":function(error, res, $) {
if (error) {
console.log("error");
console.log(error);
} else {
$('a').each(function(index, value) {
console.log($(this).attr('href'));
//c.queue(href)
});
}
}
});
c.queue('http://www.google.com');
最佳答案
问题是您尚未初始化Cheerio(var $ = res。$;)。
试试这个,它可以从提供的网址中提取所有喜欢的内容...
var Crawler = require("crawler");
var c = new Crawler({
maxConnections: 10,
// This will be called for each crawled page
callback: function(error, res, done) {
if (error) {
console.log(error);
} else {
var $ = res.$;
var links = [];
$('a').each(function(i, elem) {
links[i] = $(this).attr('href');
});
// $ is Cheerio by default
//a lean implementation of core jQuery designed specifically for the server
console.log(links);
}
done();
}
});
c.queue('http://www.google.com');
关于jquery - 使用NPM搜寻器搜寻Node.js错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44298433/