El web scraping es un proceso de extracción de información útil de páginas web. Node.js es un lenguaje de backend popular que se puede utilizar para web scraping. En este tutorial, aprenderemos cómo usar Node.js para web scraping.
Requisitos previos
Antes de comenzar, asegúrese de tener lo siguiente instalado en su máquina:
- Nodo.js
- npm
- un editor de texto
Paso 1: instalar los paquetes necesarios
Usaremos los siguientes paquetes para nuestro proyecto de web scraping:
- Solicitud: para realizar solicitudes HTTP
- Cheerio: para analizar HTML
- fs: para escribir datos en archivos
Para instalar estos paquetes, ejecute el siguiente comando en su terminal:
npm install request cheerio fs
Paso 2: realizar solicitudes HTTP
Ahora que hemos instalado los paquetes necesarios, hagamos nuestra primera solicitud HTTP utilizando el paquete Solicitud.
const request = require('request');
request('<https://www.example.com>', (error, response, html) => {
if (!error && response.statusCode === 200) {
console.log(html);
}
});
Este código realizará una solicitud GET a https://www.ejemplo.com y registre la respuesta HTML en la consola.
Paso 3: analizar HTML
Ahora que tenemos la respuesta HTML, debemos analizarla para extraer los datos que necesitamos. Aquí es donde entra en juego el paquete Cheerio.
const cheerio = require('cheerio');
const $ = cheerio.load(html);
$('h1').each((i, el) => {
console.log($(el).text());
});
Este código cargará el HTML en Cheerio y utilizará el each
método para recorrer todos h1
elementos y registrar su contenido de texto en la consola.
Paso 4: escribir datos en archivos
Finalmente, podemos escribir los datos extraídos en un archivo usando el paquete fs.
const fs = require('fs');
fs.writeFile('data.txt', $('h1').text(), (err) => {
if (err) throw err;
console.log('Data saved to file');
});
Este código escribirá el contenido del texto de todos h1
elementos a un archivo llamado data.txt
.
Otras bibliotecas de desguace de Node.js
- rasparlo: Una biblioteca de desguace de Node.js sencilla pero potente.
- Eliminador de sitios web: otra rica biblioteca de desguace de JavaScript gratuita y de código abierto
- Titiritero: Puppeteer es una biblioteca Node.js que proporciona una API de alto nivel para controlar Chrome/Chromium a través del protocolo DevTools. Puppeteer se ejecuta en modo sin cabeza de forma predeterminada, pero se puede configurar para que se ejecute en Chrome/Chromium completo (“headful”).
- Renacido: Un navegador sin cabeza impulsado por funciones PhantomJS en Node.js. Basado en el puente PhantomJS-Node.
Conclusión
En este tutorial, aprendimos cómo usar Node.js para web scraping. Cubrimos cómo realizar solicitudes HTTP, analizar HTML usando Cheerio y escribir datos en archivos usando fs
. ¡Con este conocimiento, puedes comenzar a extraer datos de cualquier sitio web que desees!
Etiquetas
Tutorial de código abierto Eliminación de JavaScript Ingeniería de datos de desarrollo web TypeScript ¿Cómo?