Extracción de datos web · scraping

La información de la web, ordenada en tu Excel

Precios de la competencia, catálogos de proveedores, licitaciones o reseñas: un proceso en Python revisa los sitios, extrae los datos, los limpia y te los deja en una tabla que se actualiza sola. Solo de fuentes públicas o donde tienes permiso.

  • python
  • scraping
  • datos abiertos
  • monitoreo
  • Google Sheets
▸ monitor_precios.pycorriendo en la nube
  1. inicio · monitor de precios
  2. sitio A · 1,240 productosOK
  3. sitio B · 860 productosOK
  4. cambios de precio contra ayer · 37REVISAR
  5. 3 productos agotados en la competencia
  6. precios del día → Google SheetsOK

Ejemplo de bitácora · así se ve una corrida

01

Cómo fluye el dato

Lo que entra, lo que hace el proceso y lo que sale. Sin cajas negras.

02

Lo que resolvemos

[01]

Precios de la competencia

Qué cobran, cuándo cambian y qué se les agota, todos los días.

[02]

Catálogos de proveedores

Precios y existencias de tus proveedores en una sola tabla para comparar.

[03]

Licitaciones y convocatorias

Las nuevas publicaciones que te interesan, filtradas y con aviso.

[04]

Reseñas y reputación

Lo que dicen de tu negocio y de la competencia en sitios públicos.

[05]

Datos abiertos

Información pública de gobierno y organismos, lista para cruzar con tus datos.

[06]

Histórico

Cada corrida se guarda: no solo el precio de hoy, también cómo se ha movido.

03

Así se ve por dentro

Código de verdad, no un diagrama de ventas: esto es lo que corre en la nube.

monitor_precios.pypython
import httpx
from selectolax.parser import HTMLParser

def precios(url):
    html = HTMLParser(httpx.get(url, headers={"User-Agent": AGENTE}, timeout=20).text)
    for p in html.css("article.producto"):
        yield {
            "sku": p.attributes.get("data-sku"),
            "nombre": p.css_first("h3").text(strip=True),
            "precio": a_numero(p.css_first(".precio").text()),
        }

hoy = list(precios(CATALOGO))
guardar_en_sheets("Precios", comparar(hoy, ayer()))

Extrae productos y precios de un catálogo público, compara contra ayer y lo manda a Google Sheets. Una página a la vez, sin saturar el sitio.

04

Ya lo hacemos en producción

Productos propios operando con clientes reales, construidos con las mismas herramientas.

  • Python
  • pandas
  • FastAPI
  • AWS Lambda
  • DynamoDB
  • S3
  • PostgreSQL
  • Vercel
  • Next.js
  • Google Sheets y Drive
  • WhatsApp Cloud API
  • IA (LLMs)
  • cron
  • Excel y PDF
05

Cómo trabajamos

  1. 01Nos cuentas qué se repite

    Un mensaje de WhatsApp: qué proceso se hace a mano, cada cuánto y con qué archivos o sistemas.

  2. 02Propuesta por escrito

    Qué se puede y qué no, con alcance, precio y plazo cerrados. Sin junta de una hora.

  3. 03Construimos por etapas

    Primero lo que más duele, funcionando con tus datos reales, y luego lo demás.

  4. 04Lo dejamos corriendo

    En la nube, con bitácora y avisos. Lo operamos y lo ajustamos cuando cambia algo.

06

Preguntas frecuentes

¿Es legal hacer scraping?

Extraemos información pública o de sitios donde tienes permiso, respetando sus términos y su robots.txt, sin saturarlos y sin datos personales. Si un sitio lo prohíbe, buscamos su API o una fuente oficial.

¿Qué pasa si el sitio cambia?

El proceso detecta que los datos ya no salen como antes y avisa. Se ajusta y vuelve a correr.

¿Pueden sacar datos que están detrás de un inicio de sesión?

Solo de cuentas de tu negocio y para tu propia información, como tus reportes en un portal de proveedor.

¿Cada cuánto se actualiza?

Lo que necesites: diario, cada hora o cuando se publique algo nuevo.

¿Hacen bases de datos de personas?

No. No recolectamos datos personales ni armamos listas de contactos a partir de sitios web.

¿Qué se hace a mano en tu negocio?

Cuéntanos qué proceso se repite, cada cuánto y con qué archivos o sistemas. Te contestamos qué se puede automatizar y qué no.

Contar mi caso por WhatsApp →Diagnóstico sin costo · respuesta con alcance, precio y plazo