Я хотел бы реализовать базовый веб-скребок с использованием Node.js, который является настолько универсальным, насколько это возможно. Я хочу, чтобы приложение могло анализировать и возвращать текст из любого HTML-кода, игнорируя любую разметку / CSS / Script без необходимости заранее знать структуру HTML-кода.
Я искал использование этой библиотеки:
https://github.com/cheeriojs/cheerio
С помощью приведенного ниже кода я могу извлечь текст из тега body, однако он также содержит CSS и JavaScript. Как лучше всего извлечь только текст и не включать CSS / JavaScript?
Код:
var request = require('request');
var cheerio = require('cheerio');
var URL = require('url-parse');
var pageToVisit = "http://www.arstechnica.com";
console.log("Visiting page " + pageToVisit);
request(pageToVisit, function (error, response, body) {
if (error) {
console.log("Error: " + error);
}
// Check status code (200 is HTTP OK)
console.log("Status code: " + response.statusCode);
if (response.statusCode === 200) {
// Parse the document body
var $ = cheerio.load(body);
console.log($('body').text());
}
});