Tutorial · 17 de junio de 2026
Scraping con IA: saca datos de cualquier web con un prompt
Extraer datos de una página solía requerir pelear con CSS y XPath. Con ScrapeGraphAI le pides en lenguaje natural lo que quieres y un modelo lo saca por ti. Gratis y local, o por centavos con API.
Para qué sirve
Sacar datos estructurados de una web —precios, listados, fichas— siempre fue trabajo de programador: inspeccionar el HTML, escribir selectores CSS o XPath, y rezar para que no cambien el diseño y te rompan todo.
ScrapeGraphAI le da la vuelta a eso. Es una librería de Python (MIT, gratis) que usa un modelo de IA para leer la página y extraer lo que le pidas en lenguaje natural. Le dices “sácame el nombre, el precio y el stock de cada producto” y te devuelve un JSON limpio. Sin selectores, sin XPath.
Para qué te sirve a ti
Olvídate del scraping de perfiles y correos para spam —eso es turbio y te terminan bloqueando. Los usos que de verdad mueven la aguja en una operación son otros:
- Monitorear precios de la competencia en páginas públicas.
- Sacar catálogos de proveedores a una hoja de cálculo.
- Juntar datos de mercado dispersos en muchas páginas para una decisión.
- Convertir páginas en datos que puedas pasar a otra herramienta.
Instalación
Python instalado y dos comandos. Idealmente en un entorno virtual:
pip install scrapegraphai
playwright install
El segundo (playwright install) es obligatorio: es lo que baja el navegador que la librería usa para abrir las páginas.
Elige tu modelo
ScrapeGraphAI necesita un modelo de IA que haga la extracción. Dos caminos, según si prefieres pagar centavos por comodidad o correrlo gratis en tu máquina.
Opción A — OpenAI o Anthropic (de pago, lo más fácil)
- Saca tu API key en platform.openai.com o console.anthropic.com.
- El costo por página es de centavos en la mayoría de los casos.
Opción B — Ollama (gratis, local, cero costo de API)
- Instala Ollama en tu computadora.
- Baja el modelo:
ollama pull llama3.2. - Todo se queda en tu máquina — los datos no salen de ahí.
Tu primer scrape
Con OpenAI (gpt-4o-mini)
Con gpt-4o-mini basta para la mayoría de los casos:
from scrapegraphai.graphs import SmartScraperGraph
graph_config = {
"llm": {
"api_key": "TU_API_KEY_DE_OPENAI",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
smart_scraper_graph = SmartScraperGraph(
prompt="Extrae el nombre, el precio y la disponibilidad de cada producto",
source="https://la-pagina-que-quieras.com/",
config=graph_config,
)
result = smart_scraper_graph.run()
print(result)
El prompt es lo único que cambias según lo que necesites. El source es la URL. Eso es todo.
Gratis y local (Ollama)
Mismo script — solo cambias el bloque de configuración por este:
graph_config = {
"llm": {
"model": "ollama/llama3.2",
"model_tokens": 8192,
"format": "json",
},
"verbose": True,
"headless": False,
}
Todo lo demás queda igual. La desventaja: necesitas una máquina con algo de músculo, y el modelo local es menos preciso que gpt-4o-mini.
El atajo: que Claude Code lo escriba por ti
Si no quieres tocar el código, no tienes que hacerlo. Abre Claude Code (o Codex) y pídeselo directo:
Usando la librería ScrapeGraphAI de Python con OpenAI gpt-4o-mini,
escribe un script que extraiga [lo que necesites] de [URL].
Incluye el graph_config completo y que guarde el resultado en un CSV.
Te devuelve el script funcionando. Tú solo pones tu API key y lo corres.
Hazlo con cabeza
El scraping es una herramienta, y como toda herramienta se puede usar mal. Tres reglas para no meterte en problemas:
- Datos públicos. Saca lo que cualquiera ve sin loguearse. No fuerces páginas con login ni saltes muros de pago.
- Respeta la casa. Revisa los términos del sitio y el
robots.txt. Si dicen que no, no. - No satures. Mete pausas entre páginas. Mil peticiones por minuto te bloquean y de paso le tiras el servidor a alguien.
Usado así, es una de las formas más rápidas de convertir la web en datos que sí puedes accionar — sin contratar a nadie.