Caso demostrativo · Extracción de datos

Mil filas, treinta y ocho segundos

Un catálogo web sin exportación se convierte en un CSV limpio que abre en Excel. Estos son los datos reales que produjo la corrida, no una maqueta.

Origen
books.toscrape.com
Corrida

Herramienta
extractor.py · Python 3
Filas extraídasRegistros únicos
Páginas leídas50Paginación automática
Tiempo total37,7 s27 filas por segundo
Campos vacíos0Sobre 7000 celdas
Duplicados0Deduplicado por URL
Por qué importa el «0» de las dos últimas columnas. Extraer es la parte fácil; el trabajo está en que el precio llegue como número y no como texto, que los duplicados no existan y que ninguna celda venga vacía. Un CSV con agujeros obliga al cliente a revisarlo a mano, y entonces no le ahorró nada.

Cómo quedó el dato

Los gráficos salen del CSV que ves abajo — se calculan al abrir la página, sobre las mismas filas.

Distribución de precios

Puntaje del catálogo

Cantidad de títulos por estrellas

El CSV, explorable

Buscá, ordená y filtrá las mil filas. Es exactamente lo que recibe el cliente, más la posibilidad de descargarlo.

Título Precio Puntaje Stock
Precio promedio de lo filtrado:

Cómo está hecho

Sin BeautifulSoup, sin Scrapy, sin Selenium. Solo la librería estándar de Python más requests, para que corra en cualquier máquina del cliente sin instalar medio internet.

  1. Recorrido de la paginaciónLa URL se arma con un patrón (page-{n}.html) y avanza sola hasta que una página devuelve 404.
  2. Parseo del HTMLUn mini-DOM propio construido sobre html.parser, tolerante a etiquetas mal cerradas — que es como viene el HTML real.
  3. Selectores como datosLos campos se declaran en un diccionario, no en código. Apuntar el extractor a otro sitio es editar un bloque de configuración.
  4. Normalización"£51.77" se vuelve 51.77; "star-rating Three" se vuelve 3; las URLs relativas se completan a absolutas.
  5. Control de calidadSe descarta toda fila sin los campos obligatorios y todo duplicado por clave única, antes de escribir nada.
  6. Salida dobleCSV con separador ; y BOM UTF-8 —Excel en español lo abre en columnas sin preguntar— y JSON para alimentar otra aplicación.
  7. Buenos modalesUn pedido por vez, pausa entre pedidos, reintentos con espera creciente y un User-Agent que dice quién es.

Para qué lo compra un cliente

Monitoreo de competencia

Los precios de tres competidores, todos los lunes, en una planilla comparativa con las variaciones marcadas.

Mensual · desde USD 80

Armado de base comercial

Directorios públicos y cámaras sectoriales convertidos en una lista de prospectos con rubro, zona y contacto.

Por proyecto · USD 60–200

Migración de catálogo

Un e-commerce viejo sin exportación, pasado a CSV para cargar en la tienda nueva sin tipear producto por producto.

Por proyecto · USD 120–400

Inteligencia de mercado

Avisos de inmuebles, autos o empleo agregados en un histórico propio para ver cómo se mueven los precios.

Mensual · desde USD 100
Sobre el sitio elegido. books.toscrape.com existe específicamente para practicar extracción de datos, así que la demostración es técnicamente idéntica a un caso real y jurídicamente impecable. En trabajos con clientes se extraen únicamente datos públicos, respetando los términos de uso y el robots.txt del sitio de origen.
← Volver a TG Dev