我使用Crawler Ninja插件,在https://www.npmjs.com/package/crawler-ninja与插件过期域名结合使用。 https://github.com/christophebe/expired-domains.ninja
然而,在我的第一次"尝试"它给我一些模糊的错误。 第一个是我相信的拼写错误,我改变了它
console.log(ed.expireds.keys())
到
console.log(end.expireds.keys())
错误:
console.log(ed.expireds.keys())
^
ReferenceError: ed is not defined
现在我面对一个新的错误:
[root@vps-121706-2576 node_modules]# node ttt.js
Use log in : /root/plg/node_modules/logs/crawler.log
Well done Sir !, done in : 170389
/root/plg/node_modules/ttt.js:22
console.log(end.expireds.keys())
^
TypeError: Cannot call method 'keys' of undefined
问题:
不要理解错误以及如何解决错误。 如果需要更多信息或细节,请发表评论。
CODE PLUGIN:
var crawler = require("crawler-ninja");
var ep = require("crawler-ninja-expired");
crawl();
function crawl(){
var c = new crawler.Crawler({
externalDomains : true,
images : false,
scripts : false,
links : false, //link tags used for css, canonical, ...
followRedirect : true
});
var expired = new ep.Plugin(c);
c.on("end", function() {
var end = new Date();
console.log("Well done Sir !, done in : " + (end - start));
// the attributes expireds is a map with a key that match to the expired domains
console.log(end.expireds.keys())
});
var start = new Date();
c.queue({url : "http://www.erijane.nl/"});
}
答案 0 :(得分:1)
end
是一个Date
对象,没有expireds
属性。
也许你只需要定义如下的expired
对象:
var expired = new ep.Plugin(c);
或者您可能需要ep
对象而不是ed
或end
。
说实话,我不知道这个库,只是在猜测。
答案 1 :(得分:0)
as crawler-ninja-expired README说:**正在进行** ..
另外,我已经阅读了源代码,没有像expired()
或expired = {}
这样的东西
所以基本上你无能为力:(