DEV Community

Jaimegs1
Jaimegs1

Posted on

Cómo creé un comparador de precios con Python y Astro

Hola a todos! 👋

Llevo un tiempo buscando portátil nuevo y me di cuenta de algo frustrante: muchas ofertas de "Descuento del 40%" son mentira. Suben el precio la semana anterior para luego bajarlo y que parezca una ganga.

Así que, como buen programador, en lugar de buscar manualmente, decidí automatizarlo.

He creado un proyecto Open Source que rastrea precios reales y filtra el marketing engañoso.

👉 Live Demo: https://comparador-laptops.vercel.app

Y si queréis ver el código completo o contribuir, lo he subido a GitHub:

📂 Repositorio: https://github.com/Jaimegs1/comparador-laptops/tree/main

🛠️ El Stack Tecnológico

Decidí usar una arquitectura híbrida para mantenerlo rápido y barato:

  • Backend (El Espía): Python + Selenium. Un script que navega como un humano, esquiva (a veces) los captchas de Amazon y extrae el precio real.
  • Frontend (La Web): Astro + TailwindCSS. Quería que cargara al instante, así que genera una web estática (SSG) cada vez que el bot encuentra datos nuevos.
  • Deploy: Vercel.

🤯 El mayor reto: Los Bloqueos

Lo más difícil fue configurar Selenium para que Amazon no detectara que soy un robot. Tuve que jugar con los User-Agents y los tiempos de espera (random.sleep) para simular comportamiento humano.

Aquí un trozo de cómo gestiono la espera para no ser detectado:


python
# Un pequeño snippet de mi código
time.sleep(random.uniform(3, 7)) # Espera aleatoria humana


Cualquier feedback sobre el código o consejos para mejorar el scraping son bienvenidos. ¡Os leo en los comentarios! 👇
Enter fullscreen mode Exit fullscreen mode

Top comments (0)