Web scraping es la técnica de extraer datos automáticamente de sitios web usando scripts, y extraer información de forma masiva se volvió un negocio real en 2026: podés scrapear precios de e-commerce, reviews de clientes, registros públicos o datos financieros, limpiar la información y venderla en plataformas como Kaggle o AWS Data Exchange. Pero acá está el tema: ser público no significa ser legal, y los costos de una demanda por GDPR o LOPD rondan los €20 millones.
En 30 segundos
El web scraping extrae datos de sitios web usando Python (requests, BeautifulSoup) o herramientas visuales (Octoparse, ScrapingBee), y requiere inspeccionar HTML, parsear contenido y almacenar en CSV o base de datos.
Vender datos extraídos funciona en plataformas de datasets (Kaggle, AWS Data Exchange) o modelos de suscripción (APIs de datos), pero requiere cumplimiento total de GDPR, LOPD y leyes locales.
Público ≠ legal: scrapear datos personales sin consentimiento, violar términos de servicio o hacer rate excesivo que afecte el servidor son riesgos con multas de €20M+.
El proceso técnico básico: GET request al sitio, parsear HTML con selectores CSS, limpiar y validar datos, eliminar duplicados, almacenar estructurado.
Las herramientas principales varían por caso: Scrapy para proyectos grandes, Selenium para sitios dinámicos con JavaScript, BeautifulSoup para HTML estático, Octoparse si no querés codificar.
Qué es el web scraping y cuándo usarlo
Web scraping es la extracción automatizada de datos de sitios web usando scripts o herramientas especializadas. Vas a un e-commerce, querés comparar precios de 1000 productos, y en vez de clickear uno por uno copiando datos manualmente, escribís un script que lo hace en 10 segundos. Eso es scraping.
Ahora bien, no todo lo que está público es legal scrapear. Revisá los términos de servicio del sitio antes de tocar nada. Si el TOS dice “prohibido automatizar acceso”, no lo hagas. Si hay un `/robots.txt` que bloquea tu user agent, respetalo. Ojo con esto: la diferencia entre “público” y “legal de scrapear” es lo que te termina costando 20 millones en una demanda.
Casos legítimos: análisis competitivo (precios de competidores que están en la web pública), investigación de mercado, extracción de registros gubernamentales de acceso público, recopilación de reviews para análisis de sentimiento, monitoreo de cambios en precios o disponibilidad, agregación de contenido de múltiples fuentes para crear un servicio nuevo, extracción de datos para investigación académica (con consentimiento). Lo que no cabe: scrapear emails de usuarios, datos de tarjetas de crédito, información médica o PII sin consentimiento explícito.
El beneficio es velocidad y escala. Vos extraés 100 mil filas de datos en minutos en vez de horas de trabajo manual. Pero el costo es conocimiento técnico, mantenimiento (porque los sitios cambian HTML cada dos por tres) y, si no te movés con cuidado legal, demandas que te arruinan.
Paso 1: Elegir qué sitio y datos scrapear
La pregunta primero es: ¿qué datos me van a dar valor? Hay varios tipos buenos de targets. E-commerce es uno de los clásicos: título del producto, precio, descripción, disponibilidad, imágenes, ratings. Sitios de reviews: opiniones de clientes, scores de estrellas, textos largos de feedback. Directorios públicos: empresas, empleados, contactos verificables. Registros gubernamentales: información de empresas, licencias, resoluciones. Noticias: headlines, contenido, autores, fechas de publicación.
Antes de empezar, hacé tres cosas. Primero, verificá `/robots.txt` (agregá `/robots.txt` al final de cualquier dominio en el navegador y mirá qué se puede y qué no). Segundo, leé los términos de servicio del sitio. Tercero, consultá a especialistas en protección de datos si los datos incluyen identificadores personales.
El dato público no es dato legal de scrapear. Google tiene un buscador público, pero scrapear Google para venderle los resultados a alguien es violación de TOS. LinkedIn tiene perfiles públicos, pero scrapear emails y hacer spam es ilegal. Entonces, aunque veas el dato en pantalla, acordate que público ≠ libre de usar.
Paso 2: Inspeccionar la estructura HTML
Antes de escribir una sola línea de código, necesitás entender cómo está estructurado el HTML del sitio que querés scrapear. Abrí el navegador, entra al sitio, presioná F12 (o clic derecho → Inspeccionar), y te abre las Dev Tools. Esto se conecta con lo que analizamos en consideraciones legales y de privacidad.
Vas a ver el árbol de HTML. Identificá dónde está el dato que querés. Por ejemplo, si querés scrapear títulos de productos, hacé click con el inspector en un título y mirá qué etiqueta HTML lo contiene. Probablemente sea algo como `
Agregá manejo de errores. Si un elemento no existe, `find()` devuelve `None`, y `.text` en `None` te crashea. Entonces:
title_elem = product.find("h2")
title = title_elem.text.strip() if title_elem else "No disponible"
Para múltiples páginas, hacé un loop. Si el sitio pagina con `/products?page=1`, `/products?page=2`, etc., iterá: Cubrimos ese tema en detalle en herramientas de IA para análisis de datos.
for page in range(1, 11): # 10 páginas
url = f"https://example.com/products?page={page}"
# hacer request, parsear, extraer
Y respetá el servidor: agregá un `time.sleep(2)` entre requests para no bombardear. Si hacés 1000 requests en 10 segundos, te van a bloquear y con razón.
Procesar, limpiar y almacenar los datos
Extraer datos es lo fácil. Lo difícil es que los datos sean útiles. Raw data tiene basura: espacios extras, valores duplicados, formatos inconsistentes, campos vacíos, caracteres raros.
Limpieza básica: `.strip()` elimina espacios al inicio y final. `.replace(“$”, “”).replace(“,”, “”)` saca caracteres innecesarios. Si hay precios como “1.500,50” (formato argentino) y necesitás números, convertí con `float(“1500.50”)`. Duplicados: cargá todo a un set o usá `pandas.drop_duplicates()`.
Almacenamiento. Podés guardar en CSV (simple, Excel lo abre), JSON (flexible, bueno para APIs), o SQLite (base de datos local sin servidor). Pandas hace esto fácil:
import pandas as pd
df = pd.DataFrame(data_list) — convertir lista de dicts a DataFrame
Validación: antes de almacenar, verificá que los datos clave están presentes. Si es un precio, asegurate de que sea un número válido. Si es una URL, que empiece con `http`. Si es un email, que tenga `@`. Datos limpios y validados son la diferencia entre un dataset que alguien paga y uno que nadie compra.
Aspectos legales y éticos del web scraping
Acá es donde la mayoría falla. Técnicamente, vos podés scrapear casi cualquier cosa. Legalmente, estás casi siempre en la cuerda floja.
En Europa, GDPR es la ley madre. Cualquier dato que identifique a una persona (email, teléfono, nombre, IP) no podés scrapear sin consentimiento explícito. Multa: hasta €20 millones o 4% del revenue anual global. En España hay LOPD + LSSI-CE. En Argentina, hay leyes de protección de datos, pero menos estrictas que Europa. Aún así, si scrapeas datos de argentinos desde un sitio argentino, aplican leyes locales.
Tres comportamientos ilegales concretos: 1) Scrapear datos personales sin base legal clara. 2) Violar explícitamente los términos de servicio del sitio. 3) Hacer scraping agresivo que afecte el rendimiento del servidor (rate excesivo, DDoS de facto). Relacionado: plataformas para versionado de código.
Cumplimiento: respetá robots.txt, espaciá requests (no hagas 1000 en 10 segundos), no scrapees datos personales a menos que tengas consentimiento o una base legal, documentá por qué scrapeas y para qué vas a usar los datos. Si vendés datos después, necesitás demostrar que tienen consentimiento explícito o que son datos públicos no identificables.
El caso real que todos citan: hace algunos años, una startup en Europa sacó de scraping un dataset de millones de emails de LinkedIn y lo empezó a vender. LinkedIn demandó, ganó, y la multa + costos legales les salió de los €20 millones (spoiler: la startup no tenía 20 millones). Desde ahí, todos andan con cuidado.
Estrategias para monetizar datos extraídos
Si scrapeas data limpia y validada, hay varios modelos de negocio:
Modelo
Cómo funciona
Ejemplo
Ingresos mensuales
Venta de datasets
Sube a Kaggle o AWS Data Exchange y cobra por descarga
Dataset de 100k reviews con análisis de sentimiento
USD 50-500 por dataset (pago único o mensual)
API de datos
Hosting del dataset, acceso vía API con suscripción
API de precios de e-commerce actualizado diariamente
USD 100-1000/mes (según tier)
Reportes/inteligencia competitiva
Análisis de datos extraídos, insights editados para clientes
Reporte mensual: “análisis de keywords donde nos superan los competidores”
USD 500-5000/mes por cliente
Análisis de sentimiento
Scrape reviews/comentarios, procesa con NLP, vende insights
Análisis de sentiment de mentions en redes sociales sobre una marca
USD 200-2000/mes por cliente
Datos agregados/búsqueda
Scrapea múltiples fuentes, las consolida, vende acceso a base unificada
Directorio unificado de inmuebles con precios de 5 portales
USD 500-3000/mes (suscriptores)
Requisitos para cualquier modelo. Primero, datos limpios. Si vos vendés garbage, nadie vuelve a comprarte. Segundo, documentación clara: de dónde vienen los datos, cuándo se actualizan, qué cobertura tienen, qué campos incluyen. Tercero, cumplimiento legal verificable: poder demostrar que tenés derecho a los datos, que no violas GDPR, que los términos de servicio del sitio original lo permiten.
Para diferenciarte, agregate valor. No vendas solo el dato crudo. Procesalo, enriquecelo con fuentes adicionales, o analizalo con insights que otros no tienen (machine learning, correlaciones, predicciones). El dato crudo ronda los USD 50-200. El dato + análisis, USD 500-5000.
Infraestructura: necesitás hosting, API de actualización periódica, versionado de datasets. Si usás donweb.com para hosting compartido o VPS, te sale barato (USD 5-20/mes), pero si el volumen crece, vas a necesitar base de datos escalable.
Sitios dinámicos con JavaScript, interacciones complejas
Gratis
Octoparse
Software visual, sin código
Baja
No-code, usuarios sin experiencia técnica, prototipado rápido
USD 10-99/mes
ScrapingBee
API cloud
Baja (solo un endpoint)
Sitios con anti-scraping, navegador headless incluido
USD 19-199/mes
Bright Data (antes Luminati)
Red de proxies + scraping cloud
Media
Scraping a escala, evasión de bloques, data residencial IP
USD 500+/mes
Errores comunes al scrapear
1. No respetar el servidor: rate sin límite
Hacés un script que dispara 10 mil requests en un minuto y el sitio te bloquea. O peor, detectan actividad maliciosa y te reportan. Solución: `time.sleep(random.uniform(1, 3))` entre requests, user-agent real, y respectá robots.txt. Algunos sitios son estrictos, otros no, pero si no sabés, asumí que son estrictos.
2. No manejar cambios de HTML
Escribiste el scraper hace 3 meses, funcionaba. Hoy dejó de funcionar. El sitio rediseñó y los selectores CSS que usabas no existen más. El dato sigue siendo public, pero los selectores están rotos. Solución: logs detallados (“elemento no encontrado en X URL”), alertas automáticas, y testea el scraper una vez por semana. Si rompe, sabés adónde corregir.
3. Asumir que legal = público
El sitio tiene datos públicos, vos los scrapeas, los vendés, y llega una demanda por GDPR diciendo que scrapaste emails sin consentimiento. Solución: antes de vender, consultá a especialistas en protección de datos. Si el dato incluye PII (personal identifiable information), asegurate de que tenés base legal clara. Mejor ser conservador que enfrentar un abogado.
4. No limpiar datos antes de vender
Scrapeas 100k filas, hay 20k duplicadas, 5k con valores vacíos, y los precios están formateados de 5 formas diferentes. Lo vendés así y el cliente se enoja. Solución: inversión de tiempo en limpieza. Es tedioso, pero de eso depende que el cliente pague y repita. Complementá con automatización con Docker y CI/CD.
5. Ignorar cambios en estructura HTML dinámicos
El sitio cargó cambios con JavaScript después de que la página se renderiza. Tu scraper obtiene el HTML inicial, pero no los datos dinámicos. Solución: abrí las Dev Tools, achicá la red a “Slow 4G”, y mirá qué se carga de verdad. Si es necesario, usá Selenium en vez de requests puro.
Preguntas Frecuentes
¿Es legal el web scraping en Argentina?
Depende. Si scrapeas datos públicos no identificables (precios de un e-commerce, títulos de noticias), generalmente es legal. Si scrapeas emails, nombres, números de documento, o información financiera de personas sin consentimiento, violás leyes de protección de datos locales y también GDPR si alguno es europeo. Consultá un abogado especializado si hay PII de por medio.
¿Qué pasa si me detectan scrapear?
El sitio puede bloquearte la IP, pedirte que dejes de hacerlo, o demandar si violaste TOS. La demanda más probable es por violación de términos de servicio o por daño (si causaste DoS haciendo demasiados requests). Solución: mantente dentro de lo razonable, respetá robots.txt y rate limits, y si un sitio dice “no scrapees”, no lo hagas.
¿Debo pedirle permiso al sitio antes de scrapear?
No es requerimiento legal, pero es una buena práctica. Si el sitio tiene datos que querés scrapear y es un volumen importante, enviá un email a su equipo técnico. Algunos dirán “no”; otros dirán “dale, pero respetá esto y aquello”. Es mejor que hacerlo en secreto y que te detecten.
¿Cuánto puedo vender un dataset de scraping?
Varía. Un dataset crudo en Kaggle sale entre USD 50-500 por descarga (pago único). Una API de datos con suscripción, USD 100-1000 al mes. Un reporte de inteligencia competitiva personalizado, USD 500-5000 al mes por cliente. Cuanto más procesamiento, análisis y valor agregado, más premium podés cobrar.
¿Qué diferencia hay entre BeautifulSoup y Selenium?
BeautifulSoup parsea HTML estático: hacés un request, obtuviste HTML, lo procesas. Es rápido y eficiente, pero no ejecuta JavaScript. Selenium abre un navegador real (Chrome, Firefox), ejecuta todo el JavaScript, espera a que la página cargue, y luego extrae datos. Selenium es más lento (segundos vs milisegundos), pero funciona con sitios dinámicos. Elegí Selenium solo si BeautifulSoup no obtiene los datos que necesitás.
Conclusión
Web scraping en 2026 es una habilidad muy buscada. Codearse con requests + BeautifulSoup te toma un fin de semana si sabés Python, y de ahí podés extraer datos a escala. El negocio de vender datos funciona, pero el éxito depende de tres cosas: datos limpios (sin basura), documentación clara (para que el cliente sepa qué compra), y cumplimiento legal (porque una demanda te arruina).
La mayoría de los fracasos en monetización de scraping no son por técnica, son por legal. Los datos están ahí, la herramienta funciona, pero violás GDPR o TOS y llega una demanda. Entonces, antes de empezar a vender, gastá una hora consultando a un especialista. USD 500 en asesoría legal anticipada son nada comparado con los USD 20 millones de una multa.
Si tu intención es legítima (análisis competitivo, investigación, datasets públicos), adelante. Si es capturar PII para spamear o vender de forma turbina, seguí de largo.
Una vulnerabilidad crítica en Marimo OSS (notebook Python) permitió ejecución remota de código. Fue explotada públicamente en menos de 10 horas tras su disclosure.
Artículo sobre el tiempo realista para desarrollar una herramienta web pequeña y convertirla en un negocio generador de ingresos. Desde lanzamiento hasta primeras ganancias.
QSCSCore es un experimento de sustrato distribuido que permite recuperación de páginas remotas sin usar HTTP, implementado como binario único con puerto único.
La campaña GlassWorm comprometió más de 433 repos en GitHub inyectando malware en proyectos Python mediante tokens robados. Usa Solana como canal de comando y control.