Este proyecto consiste en un servicio de web scraping desarrollado con Cloudflare Workers que busca productos de ciclismo en diversas páginas web, como Decathlon, CrossMountain, 5Norte, entre otras. El objetivo es consolidar la información de estos productos en una sola plataforma web para facilitar la búsqueda y comparación para los usuarios interesados en productos relacionados con el ciclismo.
-
Web Scraping Automatizado: El servicio utiliza técnicas de web scraping para recopilar información sobre productos de ciclismo de diferentes sitios web.
-
Soporte para Múltiples Sitios: Se han implementado scraping scripts específicos para sitios populares de productos de ciclismo, como Decathlon, CrossMountain, 5Norte, entre otros. Esto permite una amplia cobertura de productos.
-
Consolidación de Datos: La información recopilada se almacena y estructura de manera uniforme, facilitando su presentación en la plataforma web final.
- Node.js instalado localmente para desarrollo y prueba.
-
Clona este repositorio:
git clone https://github.com/polaarts/cycling-scrapper.git
-
Instala las dependencias del proyecto:
npm i
En el directorio ./src/tiendas/ se encuentran las carpetas de cada sitio web para su web scrapping. Estos scripts se ejecutan con Puppeteer dentro de la carpeta categorias y se encargan de recopilar la información de los productos de cada sitio web. La información recopilada se almacena en una base de datos PostgreSQL utilizando PG.
Si desea añadir un nuevo sitio web, debe crear una nueva carpeta en ./src/tiendas/ con el nombre del sitio web y dentro de esta carpeta crear un archivo llamado index.js
que contenga el script de web scraping y otro archivo llamado utils.js
que contenga las funciones auxiliares necesarias para el web scraping. Cada sección/categoría de producto que desee añadir debe tener su propio archivo .js
dentro de la carpeta categoría
en el sitio web correspondiente.
Para facilitar la implementación es recomendable añadir todos los selectores e información requerida del sitio web en los archivos data-tiendas.js
y selectors.js
para así poder reutilizarlos en los scripts de web scraping.
Para ejecutar en local los scripts de web scraping se debe utilizar el siguiente comando:
npm run scrape
Cualquier consideración, opinión, comentario o error en la documentación o en el código, por favor reportarlo a Samuel Angulo mediante el correo [email protected]
o a través de un issue en este repositorio.