Aprenderemos en esta ocasión Cómo construir una herramienta Web Scrapring con Javascript con la fuerza de menos de 30 líneas de código, utilizando todo el poder de los siguientes frameworks de la más alta popularidad y eficiencia, del mundo del desarrollo web como los son:
- cheerio
- Express JS
- Axios
A continuación explicaré brevemente, primero que es web scraping y después cada una de las herramientas que se utilizará en la implementación del código.
Video Explicativo
¿Qué es Web Scraping?
El Web Scraping es una tècnica automatizada de extracción de información de páginas web, en ocasiones el proceso se realiza utilizando el protocolo HTTP el cual ya se abordó en un tutorial anterior con la tecnología PHP en el siguiente enlace lo puedes ver:
Cómo hacer Web Scraping con PHP
La otra forma de hacer Web Scraping es incrustando el navegador en una aplicación, como lo haremos en el presente tutorial. A continuación, paso a explicar los diferentes frameworks que se utilizaran para llevar a cabo el proceso de la extracción.
¿Qué es cheerio?
Cheerio es una implementación rápida, flexible y ligera que se podría ver como una actualización de JQuery, utiliza su mismo core. Cheerio analiza el DOM y proporciona una manera operable de modificar la información resultante, más información en su web oficial:
¿Qué es Express JS?
Este framework que proporciona herramientas robustas y simplificadas para Node js. Permite estructurar una aplicación de una manera ágil, añadiendo funcionalidades como enrutamiento, gestión de sesiones y cookies entre otros. Más información en su sitio web oficial:
¿Qué es Axios?
Axios tiene la facultad de ejecutarse en el navegador, configurar y realizar solicitudes a un servidor para recibir sus respuestas. Este framework de Javascript cuenta con una única API para gestionar las solicitudes Ajax, gestiona el consumo de servicio web API REST efectivamente, a pesar de su potencia es muy ligero, pesa poco más de 10KB y es compatible con todos los navegadores actuales. Más información en el siguiente enlace:
https://axios-http.com/docs/intro
Configuración del Entorno de Trabajo
En este proceso en el que aprenderemos cómo construir una herramienta Web Scrapring con Javascript, es necesario utilizar además de los frameworks indicados a Nodejs que es un entorno de ejecución orientado a eventos asíncronos, que funge como la plataforma que hace todo posible.
En adición se utilizará nodemon para recargar automácitamente los cambios que se vayan realizando en el código en tiempo y npm para realizar la descarga he intalación de estas librerías necesarias para el funcionamiento del código correctamente.
Paso a paso del proceso de construir una herramienta Web Scrapring con Javascript
Para llevar a cabo el proceso se recomienda instalar Visual Studio Code que puedes descargar e Instalar en el siguiente enlace:
https://code.visualstudio.com/
Instalación de las librerías necesarias para la ejecución de la aplicación de Web Scraping
Para realizar el proceso correspondiente se debe crear una nueva carpeta con el nombre que desees que tenga el proyecto y abrir la consola, para ejecutar los comandos de instalación de cada librería.
Instalación de Nodejs
Para realizar el proceso de instalación de nodejs, ingresa en slguiente enlace y realiza la descarga e instalación correspondiente
https://nodejs.org/es/download/
Ejecución de Nodejs para que empieze a funcionar el Servidor
npm init
A continuación el sistema crea un documento llamado package.json que organiza el proyecto y lo alista para la instalación de las libreria de manera estándar.
En el proceso de la configuración siguiente, el sistema le pide una información desde consola, para el ejemplo no se va a diligenciar nada y se le va a poner al final, solo yes cuando se pregunte, todas las consultas anteriores se sobre pasan con Enter.
Instalación de cheerio
Desde Visual Studio Code pulsas en View y luego en Terminal, y escribes el siguiente código:
npm i cheerio
Instalación de Express js
npm i express
Instalación de Axios
npm i axios
Instalación de Nodemon
npm i nodemon
Código del tutorial con el cómo construir una herramienta Web Scrapring con Javascript
El código ha continuación tiene el proceso necesario para extaer el título y enlace relacionado de está página web, configuroweb.com:
const PORT = 3000; const express = require('express'); const cheerio = require('cheerio'); const axios = require('axios'); const { response } = require('express'); const app = express(); URL = 'https://configuroweb.com/'; axios(URL) .then(response =>{ const html = response.data; const $ = cheerio.load(html) const articles = [] $('.entry-title', html).each(function(){ const titulo = $(this).text() const url = $(this).find('a').attr('href') articles.push({ titulo, url }) }) console.log(articles) }).catch(err => console.log(err)) app.listen(PORT, ()=>console.log('Ejecutando el script desde el puerto 3000'));
Ejecución del Código desde Consola para que se ejecute el Web Scraping
Se debe ejecutar el siguiente comando, para que en adelante, todos los cambios se ejecuten automácitamente, gracias a Nodemon:
npm run start
Repositorio del Proyecto Web Scraping en Javascript
El siguiente es el enlace con el repositorio del Proyecto de Scraping ya implementado, funcionando correctamente:
Cualquier duda quedo al pendiente !!
Un comentario en «Cómo construir una herramienta Web Scrapring con Javascript»