Atrás

Cómo hacer web scraping con LLM y Crawl4AI: guía práctica

avatar
21 nov 20256 minuto de lectura
Compartir con
  • Copiar enlace

¿Qué puede hacer un scraper potenciado por LLM?

¿Te imaginas un programa que lea una página web y entienda la información como una persona? Un scraper potenciado por Crawl4AI puede hacer eso. Puede tomar HTML, usar un modelo grande de lenguaje (un LLM) y devolver datos ordenados. Esto facilita extraer tablas, nombres, números y otras cosas sin escribir reglas difíciles.

Pregunta inicial: ¿y si tu scraper entendiera la página como un humano?

Piensa en leer una página de resultados. Un humano sabe dónde están los nombres, los datos y las cifras. Un scraper con LLM hace algo similar. No busca solo cadenas. Intenta comprender y devolver datos en un formato claro. Así puedes usar esos datos en una app, una hoja de cálculo o para análisis.

Qué aprenderás en esta guía breve (instalar, configurar, extraer)

Esta guía te mostrará los pasos básicos. Primero, instalar la herramienta. Luego, configurar el navegador y el modelo. Después, indicar un esquema con pydantic para decir qué campos quieres. Finalmente, ejecutar la extracción y comprobar los resultados. Todo explicado con frases simples.

Instalar es sencillo. Ejecuta el comando para instalar la librería. Luego corre el asistente de configuración. Al final, verifica la instalación con el comando de prueba. Esto te devuelve un mensaje de éxito si todo está bien.

Para extraer, primero pruebas con una URL simple. La herramienta traerá el HTML. Luego defines un modelo con pydantic. En ese modelo pones campos como nombre, juegos jugados o pases completados. El LLM lo usa como guía para devolver datos en ese formato.

| Proveedor | Cómo se configura | Mejor para | | --- | --- | --- | | OpenRouter | base URL: openrouter.ai/ap i/... + token | usar modelos como Qwen-3 y compartir acceso a varias APIs | | LLaMA (local) | base URL: http://localhost:11434 | probar modelos locales sin enviar datos a la nube | | OpenAI u otros | usar clave API del proveedor | cuando necesitas modelos alojados por terceros |

En la configuración del navegador, activa headless si no quieres ver una ventana. Activa verbose para ver logs y entender qué pasa. En la sección de extracción, elige la estrategia «LLM» y pasa el esquema y unas instrucciones cortas. Eso ayuda al LLM a saber qué buscar.

Puedes usar diferentes proveedores. En un ejemplo real se usó OpenRouter con el modelo Qwen-3. Si prefieres local, usa LLaMA. Solo cambia el nombre del proveedor y la URL base en la configuración.

Para mejorar resultados con modelos pequeños, activa chunking. Esto divide el texto en trozos. Por ejemplo, usa 1024 tokens por trozo. Así el modelo procesa menos a la vez y puede ser más preciso.

Un ejemplo práctico: extraer estadísticas de fútbol americano. Se pidió al LLM devolver nombre, juegos y estadísticas de pase. La herramienta devolvió listas con jugadores y números. Luego se comprobó algunos resultados manualmente para confirmar que estaban bien.

Recuerda que los LLM no son siempre exactos. A veces se equivocan o inventan datos. Por eso debes validar la salida. Puedes hacer una verificación manual o pedir a otro LLM que actúe como juez y revise los datos.

  • Instala la librería y corre el setup de inicialización.
  • Prueba una URL simple para ver el HTML que obtiene la herramienta.
  • Define un esquema con pydantic para tus campos.
  • Configura el proveedor de LLM (OpenRouter, LLaMA, OpenAI…).
  • Activa chunking si usas modelos pequeños.
  • Verifica siempre los datos devueltos.

Consejos rápidos: usa headless para no abrir ventanas. Si algo falla, mira los logs con verbose. Si necesitas más control, ajusta las instrucciones que das al LLM. Esto mejora la calidad de la extracción.

Si quieres probar ya, instala y configura Crawl4AI. Define un esquema simple y prueba con una página real. Verás cómo el LLM puede transformar HTML en datos listos para usar. Ve a usar Crawl4AI ahora y prueba una extracción sencilla.

Preparar tu entorno y instalar Crawl4AI

¿Te gustaría crear un web scraper que use LLM para sacar datos limpios de páginas? En esta sección verás cómo preparar tu equipo e instalar Crawl4AI. Son pasos sencillos y rápidos. No necesitas ser experto.

Requisitos: Python, VS Code/terminal y acceso a un proveedor LLM

Necesitas tener Python instalado. Abre un editor o la terminal, por ejemplo VS Code. También necesitas acceso a un proveedor de LLM como OpenRouter o un modelo local como Llama. Es útil conocer pydantic para crear esquemas de datos.

Comando clave: pip install -U crawl4ai (y prefijos como 'uv')

Abre la terminal y ejecuta el comando de instalación. Si usas un alias o herramienta, puedes añadirlo al inicio.

  • pip install -U crawl4ai
  • Si usas un prefijo como 'uv', añádelo al inicio del comando.

Ejecutar setup y verificar con crawl4ai-do

Después de instalar, ejecuta el script de setup que trae el repositorio. Te puede pedir la contraseña sudo. Cuando termine, verifica la instalación con crawl4ai-do. Si ves un mensaje de éxito, ya puedes probar los ejemplos que obtienen HTML y empezar la extracción de datos con LLMs.

Configurar el scraper: browser, headless y logging

¿Quieres sacar datos de una página sin ver un navegador abrirse? Usa un scraper que corre en la terminal. Primero instala con pip y abre tu terminal. Ejecuta el comando de instalación y luego el setup. Verás mensajes en pantalla que confirman la instalación.

Opciones del navegador: headless=true y verbose=true para logs

Activa headless=true para que el navegador no se muestre. Activa verbose=true para ver líneas de log en la terminal. Los logs ayudan a entender qué hace el scraper. Mantén ambos cuando pruebas, y cambia solo cuando todo funcione bien.

Ejecutar un ejemplo simple para obtener HTML de una URL

Prueba un ejemplo rápido copiando la URL que quieras. El scraper descargará el HTML y lo mostrará en la terminal. Puedes reemplazar la URL por cualquier sitio. Este paso sirve para verificar que la instalación y la conexión funcionan.

Sugerencias prácticas antes de pasar al LLM

Define tu esquema con pydantic para que el LLM devuelva datos ordenados. Elige un proveedor como OpenRouter o Llama y pon la base URL y el token. Para modelos pequeños, activa chunking (por ejemplo token 1024). Siempre valida los resultados, porque los LLM no son 100% exactos. Puedes pedir a otro LLM que revise los datos si quieres más seguridad.

Usar un LLM para extracción estructurada (schema-driven)

¿Te gustaría convertir páginas web en datos fáciles de leer? Con Crawl4AI y un LLM puedes pedirle a la máquina que extraiga datos siguiendo un esquema. Esto ayuda a obtener tablas ordenadas, no solo texto suelto.

Definir modelos pydantic para el esquema de salida

Primero, crea modelos con pydantic. Estos modelos dicen exactamente qué campos esperas. Por ejemplo, para estadísticas de jugadores puedes tener campos como nombre, partidos, pases completos y pases intentados. Cada campo va en el modelo. El LLM usará ese modelo para crear la salida en formato correcto.

Usar modelos ayuda mucho. Evita errores de formato. También facilita guardar los datos luego, por ejemplo en CSV o en una base de datos.

Incluir descripciones en cada campo para guiar al LLM

Añade una breve descripción a cada campo del modelo. Una frase clara es suficiente. Por ejemplo: el campo "partidos" puede llevar la nota "número de partidos jugados en la temporada". Estas descripciones ayudan al LLM a entender qué buscar en la página.

Si la descripción es simple, el LLM comete menos errores. También puedes dar ejemplos breves dentro del esquema para que la salida sea más parecida a lo que esperas.

Elegir proveedor: OpenRouter, OpenAI, Gemini, Claude o Llama local

Puedes usar muchos proveedores para ejecutar el LLM. Algunos nombres comunes son OpenRouter, OpenAI, Gemini, Claude o un modelo local como Llama. Cada uno tiene ventajas y límites. Elige según precio, velocidad y si quieres correr el modelo en tu máquina o en la nube.

| Proveedor | Ventaja | Nota | | --- | --- | --- | | OpenRouter | Flexible y permite varios modelos | Requiere token y base URL | | OpenAI | Modelos potentes y fáciles de usar | Costo puede ser más alto | | Gemini | Buen rendimiento en comprensión | Acceso por cuenta | | Claude | Fuerte en instrucciones largas | Puede variar en precio | | Llama (local) | Privacidad y control | Puede necesitar más recursos |

La tabla ayuda a comparar. Si prefieres correr algo en tu PC, usa Llama. Si quieres servicio en la nube, mira OpenRouter u OpenAI.

Ejemplo: configuración de OpenRouter (base URL y token)

Un ejemplo simple de conexión con OpenRouter requiere poner la base URL y tu token. La base suele verse así: openrouter.ai/api/v1. Luego agregas tu token privado. Esto permite que Crawl4AI use el modelo elegido para la extracción.

Si prefieres un modelo local, cambia la configuración a Llama o a tu servidor local. En ese caso la base URL puede ser algo como http://localhost:11434.

Ejecutar la extracción y mostrar el resultado en terminal

En la configuración de ejecución debes elegir la estrategia de extracción. Selecciona la opción de usar LLM para que el motor aplique el esquema. Activa la opción "verbose" para ver más mensajes en la terminal. También puedes usar "headless" en el navegador para que no se abra una ventana.

Tras correr la tarea, el sistema devolverá objetos que coincidan con tu modelo pydantic. Imprime esos resultados en la terminal para revisarlos. Siempre verifica algunos ejemplos con la página original para confirmar que los datos son correctos.

Los LLM no siempre son exactos. A veces cambian respuestas. Por eso conviene validar con reglas o incluso usar otro LLM como juez para revisar la salida.

Si usas modelos más pequeños, activa la opción de chunking. En la configuración pon "apply_chunking": true y define el tamaño, por ejemplo 1024 tokens. Esto divide el texto en partes más pequeñas. Así el modelo puede procesar mejor páginas largas.

  • Define modelos claros con pydantic.
  • Añade descripciones en cada campo.
  • Elige un proveedor: OpenRouter, OpenAI, Gemini, Claude o Llama local.
  • Configura la base URL y token si usas OpenRouter.
  • Activa verbose y headless para control y limpieza.
  • Usa chunking si el modelo es pequeño o la página es larga.
  • Valida siempre los datos extraídos.

¿Listo para probar? Ve y usa Crawl4AI con un LLM. Empieza con un esquema sencillo y luego agrega más campos. Así obtendrás datos limpios y fáciles de usar.

Validar resultados y corregir fallos comunes

¿Los datos extraídos parecen raros? Antes de confiar, verifica siempre. Los sistemas pueden fallar. Una revisión rápida evita errores graves.

Por qué los LLM son no determinísticos: siempre verifica

Los LLM no siempre dan la misma respuesta. A veces inventan o mezclan valores. Por eso debes revisar los resultados. Haz comprobaciones simples: compara con la página original o con otra fuente.

Usar un LLM juez o comprobaciones manuales para asegurar precisión

Puedes usar otro modelo como juez. También sirve la revisión humana. Un juez puede marcar inconsistencias. La revisión humana confirma números y nombres. Ambas opciones ayudan a mejorar la calidad.

Chunking: cuándo aplicarlo y cómo ajustar tokens por chunk

Activa chunking cuando la página es larga o tu modelo es pequeño. Un buen punto de partida es 1024 tokens por chunk. Prueba y ajusta. Con chunking el modelo procesa partes más pequeñas y falla menos.

Qué hacer si los campos devueltos contienen errores

Si ves errores, no borres todo. Reintenta con otro prompt. Aumenta chunking o cambia el modelo (por ejemplo OpenRouter o Llama). Añade validación con pydantic para forzar tipos y rangos.

| Problema | Acción recomendada | | --- | --- | | Valores faltan | Reintentar con prompt más claro | | Números incorrectos | Validar con pydantic y comprobar fuente | | Salida contradictoria | Usar LLM juez o revisión humana |

¿Quién debe usar Crawl4AI y qué modelos elegir?

?¿Quieres sacar datos de páginas web con ayuda de una IA y sin complicarte? Crawl4AI sirve para eso. Es bueno para gente que necesita datos ordenados rápido. Si ya trabajas con tablas o catálogos, te ahorra tiempo. Ve a usar Crawl4AI y prueba con tus páginas.

Casos típicos: estadísticas deportivas, catálogos, scraping de tablas

  • Extraer estadísticas de deportes, como pases y yardas.
  • Leer catálogos de productos y precios.
  • Sacar tablas y convertirlas a datos limpios.

Modelos grandes vs locales (cuando optar por Llama/Olama)

Si quieres resultados más precisos y no te importa pagar, usa modelos en la nube como OpenRouter. Si prefieres controlar todo y ahorrar dinero en el largo plazo, usa Llama o Olama en local. Para equipos pequeños, un modelo local pequeño puede bastar. Para datos muy complejos, mejor un modelo grande en la nube.

Consejos de rendimiento y costos

Activa chunking si tu modelo es pequeño. Usa pydantic para definir esquemas claros. Valida siempre la salida. Limita tokens y activa modo headless para ahorrar recursos. Revisa resultados con otra IA como juez. Así controlas calidad y costo.

| Aspecto | Nube | Local | Cuándo elegir | | --- | --- | --- | --- | | Costo | Pago por uso | Costo inicial mayor | Proyectos variables → nube; uso continuo → local | | Latencia | Baja | Puede ser mayor | Si necesitas velocidad → nube | | Control y privacidad | Menos control | Control total | Datos sensibles → local |

Manos a la obra: clona el repo y prueba Crawl4AI

¿Quieres extraer datos de páginas web con ayuda de un LLM? Aquí tienes una ruta clara. Abre tu editor y la terminal. Clona el repositorio del proyecto. Luego instala la herramienta. Usa el comando pip install -U crawl4ai. Si usas venv o pipx, añade lo que necesites. Después ejecuta el setup que trae el repo. Puede pedir tu contraseña. Al final, comprueba la instalación con crawl4ai-do. Deberías ver un mensaje de éxito. Todo esto prepara tu entorno para probar ejemplos y conectar un modelo.

Pasos rápidos: ir al repo, instalar, ejecutar ejemplo con tu URL

  • Clona el repo y abre la carpeta en tu editor.
  • Abre la terminal y activa el entorno virtual si lo usas.
  • Ejecuta: pip install -U crawl4ai y espera a que finalice.
  • Corre el setup del proyecto si lo incluye. Sigue las instrucciones en pantalla.
  • Verifica con: crawl4ai-do.
  • Ejecuta un ejemplo incluido. Cambia la URL por la página que quieras explorar.

El ejemplo básico toma la página y devuelve el HTML. Así puedes ver que la herramienta funciona. Luego pasas al paso de extraer datos estructurados.

Prueba sugerida: extraer stats de ESPN y verificar resultados

Un buen ejercicio es pedirle al scraper que obtenga estadísticas de NFL desde una página de ESPN. Para eso se crea un esquema con pydantic. El esquema indica los campos que quieres: nombre del jugador, partidos jugados, pases completados, pases intentados, etc. El LLM recibe ese esquema y trata de rellenarlo desde el HTML.

En la configuración del navegador pon verbose = true para ver logs. Y usa headless = true para no abrir una ventana gráfica. En la sección de ejecución selecciona la estrategia de extracción: LLM. Ahí indicas el esquema, el tipo de extracción como schema y añades instrucciones claras para el modelo. También puedes incluir un ejemplo corto del esquema para guiarlo.

En la parte de proveedor de modelos puedes usar OpenRouter. Pone el nombre del modelo y la base_url, por ejemplo: https://openrouter.ai/api/ ..., y tu token de API. Si prefieres un modelo local, cambia el proveedor a Ollama o similar y usa la URL local, por ejemplo http://localhost:11434.

Luego ejecuta el crawler asíncrono con la URL objetivo. El resultado será una lista con objetos que siguen tu esquema. Imprime esos objetos para revisarlos. En pruebas reales aparecen nombres como Justin Herbert y sus pases. Siempre abre la página original y verifica algunos valores. Esto confirma que la extracción es correcta.

Tip: los modelos son no deterministas. A veces devuelven errores o campos mal ubicados. Verifica siempre. Puedes usar otro LLM como juez para validar los datos. Pero nunca confíes ciegamente en una sola pasada.

Si trabajas con modelos pequeños, usa chunking. Activa apply_chunking = true y define el tamaño en tokens, por ejemplo 1024. Así el contenido se divide en trozos y el modelo procesa cada uno sin saturarse.

Llamada a la acción: usa Crawl4AI y conecta tu modelo favorito

¿Listo para empezar? Configura tu API token y prueba con una página simple. Define tu esquema en pydantic. Ajusta el navegador y la estrategia de extracción. Si usas OpenRouter, añade su base_url y token. Si usas un modelo local como Ollama, cambia la URL a localhost:11434. Luego ejecuta y revisa los resultados. Si ves errores, prueba chunking o mejora las instrucciones para el modelo. Usa la herramienta y conecta el modelo que prefieras. ¡Empieza ahora y extrae datos estructurados en minutos!

| Proveedor / Modelo | Base URL típica | Cuándo usarlo | Notas | | --- | --- | --- | --- | | OpenRouter | https://openrouter.ai/api/... | Modelos grandes y flexibles | Requiere token de API | | Ollama | http://localhost:11434 | Modelos locales sin conexión | Útil para privacidad y pruebas locales | | OpenAI | https://api.openai.com | Modelos oficiales de OpenAI | Fácil integración, coste según uso |

Resumen práctico: clona el repo, instala crawl4ai, configura el proveedor de modelos, escribe un esquema con pydantic y ejecuta la extracción. Verifica los datos y usa chunking si tu modelo es pequeño. Con esto puedes empezar a extraer datos de forma estructurada.

Artículos relacionados