Skip to content

angelsandev/comparador_web

Repository files navigation

🕷️ Web Scraping & Data Automation (Python)

Python Selenium Status

Este proyecto de automatización en Python está diseñado para la extracción masiva y el procesamiento de datos técnicos de productos mediante códigos EAN. Optimiza auditorías manuales, transformando horas de navegación web en segundos de ejecución automatizada.

🚀 Impacto y Valor

  • Eficiencia: Reducción del tiempo de auditoría manual en un 95%.
  • Precisión: Eliminación del error humano en la captura de referencias técnicas y datos ETIM.
  • Escalabilidad: Capacidad para procesar múltiples URLs y categorías de forma simultánea.

🛠️ Arquitectura del Código

El proyecto sigue una estructura modular para facilitar el mantenimiento y la escalabilidad:

  • comparador.py: El punto de entrada principal. Coordina el flujo lógico, realiza las llamadas de scraping y centraliza los datos obtenidos de ambos entornos.
  • utils.py: El motor de funciones técnicas. Contiene la lógica de extracción de datos, manejo del DOM mediante Playwright y limpieza de cadenas de texto.
  • informe.py: El módulo de generación de reportes. Contiene la función generar_html(datos), encargada de transformar los resultados en un informe visual interactivo.

📊 Generación de Resultados

Al finalizar la ejecución, el sistema genera automáticamente un informe visual de auditoría:

  1. Procesamiento: El script principal envía los resultados comparados a informe.py.
  2. Generación: Se crea un archivo llamado reporte_qa.html en la raíz del proyecto.
  3. Visualización: El sistema utiliza la librería webbrowser para abrir automáticamente el informe en el navegador predeterminado.

El informe incluye:

  • Resumen de Errores: Contador dinámico de diferencias detectadas (❌).
  • Tablas Comparativas: Análisis detallado de SEO (Meta titles, H1, Breadcrumbs), imágenes de producto, menús de navegación, precios, atributos técnicos ETIM y validación del buscador.

🏁 Instalación y Ejecución

Este proyecto utiliza uv para la gestión de dependencias, lo que garantiza un entorno aislado y una ejecución rápida.

1. Preparar el entorno e instalar dependencias

Desde la raíz del proyecto, ejecuta el siguiente comando para instalar automáticamente todas las librerías necesarias:

# Instalar las dependencias necesarias
uv sync

2. Instalar navegadores de Playwright

Al utilizar Playwright para la automatización, es necesario descargar los binarios del navegador (Chromium/Firefox) la primera vez:

uv run playwright install

3. Ejecutar el proyecto

Para iniciar el scraping y la comparación de datos, ejecuta el archivo principal:

uv run comparador.py

Al terminar, el archivo reporte_qa.html se abrirá automáticamente en tu navegador.

🛠️ Stack Tecnológico

  • Lenguaje: Python (ES6+ logic flow).
  • Librerías de Scraping: Selenium / BeautifulSoup (según arquitectura).
  • Gestión de Datos: Procesamiento de estructuras JSON y extracción de atributos dinámicos del DOM.

📊 Funcionalidades Clave

  • Extracción de Atributos: Captura de referencias, fabricantes y descripciones técnicas.
  • Auditoría de Enlaces: Verificación de garantías, datasheets, menús de información adicional y fichas ETIM.
  • Validación Visual: Control de imágenes, migas de pan (breadcrumbs) y elementos del buscador.
  • Análisis de Compra: Scraping de datos de la caja de compra y disponibilidad.

About

🕷️ Automatización de Web Scraping para auditoría de datos técnicos (EAN). Optimiza la extracción de referencias, ETIM y documentación técnica con un ahorro del 95% en tiempo de ejecución.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors