TypeScript:
Descargando una página web

Cómo Hacerlo:

Aquí te dejo un ejemplo cortito y al grano usando node-fetch, una librería muy usada para hacer peticiones HTTP que imita la API fetch del navegador.

Primero, instala node-fetch con npm:

npm install node-fetch

Luego, escribe el siguiente código TypeScript para descargar el contenido de una página web:

import fetch from 'node-fetch';

async function descargarPagina(url: string): Promise<string> {
    const respuesta = await fetch(url);
    if (!respuesta.ok) {
        throw new Error(`Error al descargar la página: ${respuesta.statusText}`);
    }
    return await respuesta.text();
}

const url = 'http://example.com';

descargarPagina(url)
    .then(contenido => console.log(contenido))
    .catch(error => console.error(error));

Ejecuta tu script de TypeScript y deberías ver el contenido HTML de http://example.com en tu consola.

Profundizando:

Node-fetch es sólo una de las muchas opciones para descargar páginas web en Node.js. Históricamente, solíamos usar el módulo http, que es más verboso y menos intuitivo. Otras alternativas modernas incluyen axios y got.

La implementación de node-fetch es muy útil, ya que puedes usar la misma lógica de la API fetch del navegador, lo cual es ideal para aquellos familiarizados con el front-end. Sin embargo, para scraping o descargas más complejas necesitarás algo más robusto como cheerio o puppeteer, que pueden manejar JavaScript del lado del cliente y interactuar con el DOM.

Ver También:

Para aprender más sobre las diferentes herramientas y técnicas: