Extrae datos de cualquier web sin programar
Saca precios y datos de webs a una tabla con tres opciones: Claude en el chat, Firecrawl gratis o Scrapling (código abierto). Respetando robots.txt.
Qué consigues
Una tabla con los datos que te interesan de varias webs, actualizada cuando tú quieras. El ejemplo: una vinoteca en Logroño quiere vigilar el precio de 20 vinos en las tiendas online de 3 competidores. Son 60 páginas. Hacerlo a mano le lleva una mañana; con esto, un rato cada lunes.
Lo que necesitas
- Opción 1, Claude en el chat: tu cuenta de Claude con la búsqueda web activa. Sin coste extra, pero cada página leída gasta de tu límite de uso.
- Opción 2, Firecrawl: plan Free con 1.000 créditos al mes, sin tarjeta (a 31-10-2026). Una página = 1 crédito; si pides los datos ya en JSON, +4 créditos por página.
- Opción 3, Scrapling: librería de código abierto en Python, gratis. 90.553 estrellas y licencia BSD-3-Clause a 31-10-2026, con cambios esta misma semana. Necesitas Python 3.10 o superior.
- La lista de URLs: una por vino y tienda.
Pasos
1. Mira si puedes leer esa web
Antes de nada, abre https://latienda.es/robots.txt de cada competidor y lee sus condiciones de uso. Si el robots.txt bloquea las páginas de producto o las condiciones prohíben la extracción automática, no sigas con esa web. Los precios públicos no son datos personales, así que aquí el RGPD no entra; lo que sí debes respetar es lo que diga cada web.
Al acabar sabes qué tiendas puedes leer.
2. Prepara la lista de URLs
Haz una hoja con tres columnas: vino, tienda, URL. Una fila por vino y tienda. Para la vinoteca son 60 filas. Esta hoja es la base de las tres opciones.
3. Opción 1: que Claude lea las páginas
Con la búsqueda web activa, Claude puede leer el contenido de una URL concreta que le pegas. Ve por tandas de 5 a 10 URLs:
Lee estas páginas de producto y dame una tabla con: tienda, nombre del vino, añada, formato (75 cl, magnum),
precio con IVA, si hay oferta y si está disponible. Si en una página no ves el precio, escribe "no visible"
y no te lo inventes.
https://tienda-a.es/vino-1
https://tienda-b.es/vino-1
https://tienda-c.es/vino-1
Deberías ver una tabla limpia. Dos límites a tener en cuenta, según la documentación de la herramienta: no carga páginas que pintan el precio con JavaScript y respeta el robots.txt. Si te sale «no visible» en una tienda, pasa a la opción 2 o 3 para esa tienda.
4. Opción 2: Firecrawl sin código
Crea la cuenta gratis y entra en el Playground (firecrawl.dev/playground). Pega una URL, elige el formato Markdown y lanza. Verás el texto de la página limpio, con el precio.
Las cuentas para la vinoteca: 60 páginas en Markdown son 60 créditos por pasada, así que una pasada semanal cabe de sobra en los 1.000 gratis. Si pides el formato JSON (te devuelve directamente los campos que le describas), cada página cuesta 5 créditos: 300 por pasada, con lo que solo llegas a tres pasadas al mes. Para el día a día, Markdown y luego Claude para montar la tabla:
Te paso el texto de 60 páginas de producto sacado con Firecrawl. Sácame una tabla con tienda, vino, añada,
precio y oferta. Compáralo con mis precios de esta otra tabla y marca en qué vinos soy más caro que la media.
5. Opción 3: Scrapling, gratis y en tu ordenador
Si te manejas con la terminal (o le pides a Claude Code que lo haga por ti), Scrapling tiene un comando que saca una página a un fichero sin programar. Instálalo con el extra de línea de comandos:
pip install "scrapling[shell]"
Saca una página a Markdown:
scrapling extract get 'https://tienda-a.es/vino-1' vino-1-tienda-a.md
Si sabes dónde está el precio en la página (su selector CSS, que Claude puede encontrarte), saca solo eso:
scrapling extract get 'https://tienda-a.es/vino-1' precio.txt --css-selector '.price'
Deberías tener un fichero por página con el texto o el precio. Para las 60 URLs, pídeselo a Claude Code:
Tengo urls.csv con columnas vino, tienda, url. Usa "scrapling extract get" para cada URL, espera 3 segundos
entre peticiones, y junta en precios.csv: vino, tienda, precio, fecha de hoy. Si alguna falla, apúntala aparte.
Para páginas que solo cargan con navegador, Scrapling necesita además pip install "scrapling[fetchers]" y scrapling install, que descarga navegadores. Scrapling trae también funciones para saltarse sistemas anti-bots: no las uses. Si una web te bloquea, te está diciendo que no.
6. Guarda el histórico
Pega cada pasada en una pestaña de Google Sheets con la fecha. En un mes verás quién baja precios y cuándo.
Errores típicos
- Lanzar 60 peticiones de golpe → la tienda te bloquea y con razón. Deja segundos entre páginas y hazlo como mucho una vez por semana.
- Claude se inventa un precio → pídele siempre que escriba «no visible» si no lo encuentra, como en el prompt del paso 3.
- Gastar los créditos de Firecrawl en una tarde → usa Markdown (1 crédito) y deja el JSON para casos puntuales.
- El selector deja de funcionar → la tienda ha cambiado su web. Vuelve a pedirle a Claude el selector nuevo.
- Copiar fichas, textos o fotos → los precios sirven para comparar; las fotos y descripciones son de la tienda. No los reutilices.
Siguiente paso
Si lo que quieres es sacar negocios de una zona, sigue con Saca negocios de Google Maps a una hoja. Para que la comparación salga sola cada lunes, mira Tareas programadas: Claude trabaja mientras duermes.