Descargar imágenes desde una URL en NodeJS

Tip sencillo pero muy útil que nos servirá para descargar imágenes desde una URL especificada

Anartz Mugika Ledo🤗
Nov 4 · 2 min read

En este artículo os voy a enseñar un tip sencillo pero que nos será muy útil en el caso que queramos descargarnos una colección de imágenes desde una lista de URLs o simplemente cuando queremos descargar imágenes cuando estamos aplicando la técnica de Web Scrapping

Para crear el script donde vamos a poder descargar la imagen que queramos pasando como parámetro la referencia de la url y el nombre del fichero, vamos a seguir los siguientes pasos.

Tenemos que tener en cuenta que tenemos instalado NodeJS y NPM como requisito mínimo.

1.- Crear directorio, ficheros necesarios e instalaciones

Ejecutamos las siguientes ordenes en el terminal para realizar los preparativos de este proyecto.

mkdir download-images && cd download-images
npm init -y
mkdir images
touch image-downloader.js
npm install request

Con estas acciones, ya tenemos el proyecto listo para trabajar con ello y esta sería la apariencia que tendríamos en la estructura de nuestro proyecto.

2.- Crear el script donde habilitamos la opción de descarga de imágenes

Accedemos al fichero image-downloader.js y añadimos el siguiente código:

Ahí tendremos preparado el script para usar la función para descargar la imagen cuya url pasaremos como primer parámetro y su nombre como segundo.

Creamos el script para hacer la descarga y le llamamos index.js

touch index.js

Añadimos el siguiente código.

3.- Ejecución del script

Ejecutamos el script

touch index.js

Y este es el resultado que obtenemos:

Y si hemos puesto correctamente la referencia, aquí tendremos todo el contenido de nuestro proyecto, incluido la imagen que hemos descargado.

4.- Código del proyecto

El código del proyecto lo podemos encontrar en el siguiente enlace

Anartz Mugika Ledo🤗

Written by

[{#frontend: [#mobile: {#android, #kotlin-java, #ionic}}, {#web: {#angular, #material, #bootstrap}}], {#backend: [{#graphql, #symfony,#express, #mongodb}]}]