Сканирование только HTML-страниц веб-сайта обычно довольно легкий процесс. Также необходимо загрузить тела ответов HTML-тел, чтобы иметь возможность сканировать сайт, поскольку в HTML выполняется поиск дополнительных URL-адресов.
simplecrawler настраивается так, что вы можете избежать загрузки изображений и т. Д. С веб-сайта. Вот фрагмент кода, который можно использовать для регистрации URL-адресов, которые посещает сканер, и предотвращения загрузки ресурсов с изображениями.
var Crawler = require("simplecrawler");
var moment = require("moment");
var cheerio = require("cheerio");
var crawler = new Crawler("http://example.com");
function log() {
var time = moment().format("HH:mm:ss");
var args = Array.from(arguments);
args.unshift(time);
console.log.apply(console, args);
}
crawler.downloadUnsupported = false;
crawler.decodeResponses = true;
crawler.addFetchCondition(function(queueItem) {
return !queueItem.path.match(/\.(zip|jpe?g|png|mp4|gif)$/i);
});
crawler.on("crawlstart", function() {
log("crawlstart");
});
crawler.on("fetchcomplete", function(queueItem, responseBuffer) {
log("fetchcomplete", queueItem.url);
});
crawler.on("fetch404", function(queueItem, response) {
log("fetch404", queueItem.url, response.statusCode);
});
crawler.on("fetcherror", function(queueItem, response) {
log("fetcherror", queueItem.url, response.statusCode);
});
crawler.on("complete", function() {
log("complete");
});
crawler.start();