Cómo extraer datos de productos de URLs

· 8 min de lectura

Copiar un precio, un SKU y tres fotos de la página de un proveedor lleva un par de minutos. Haz eso para 150 artículos en un proyecto residencial y se te irá una jornada laboral, con errores tipográficos como extra. Esta guía muestra cómo extraer datos de productos de URLs de forma fiable: comprueba primero los datos estructurados, extrae los campos que necesitas, recurre a la extracción por diseño cuando falte el marcado y limpia el resultado para que se introduzca directamente en un presupuesto.

Qué necesitas antes del paso 1:

  • Una lista de URLs de productos de proveedores (una por producto, no páginas de categorías)
  • Un navegador con herramientas de desarrollador, o un entorno Python si quieres automatizarlo
  • Un formato de destino para tus datos: nombre, SKU, precio, divisa, imágenes, dimensiones
  • Una regla para tu divisa base, para que los precios puedan compararse

Por qué la extracción de datos de URLs de productos supera la entrada manual

La entrada manual falla de tres maneras predecibles. Es lenta. Introduce errores, como un dígito intercambiado en un SKU o un precio copiado con el símbolo de divisa incorrecto. Y se queda obsoleta en el momento en que terminas, porque nadie vuelve a comprobar la página del proveedor a mitad de la adquisición.

Aprender a extraer datos de productos de URLs convierte cada uno en un registro coherente. Los tutoriales de Oxylabs y Zyte muestran el patrón general: solicita la página, localiza los campos, almacénalos en un formato estructurado. La misma lógica se aplica a los productos de interior, ya sea que escribas el script tú mismo o utilices una herramienta que lo haga por ti.

Para un diseñador, la recompensa no es la elegancia. Es la consistencia. Cuando cada producto llega con los mismos campos, puedes ordenar por precio, agrupar por habitación y detectar esa lámpara con precio en dólares entre cuarenta con precio en euros. Esa es la diferencia entre una lista de compras y un presupuesto de trabajo.

Paso 1: Comprueba si la página del proveedor tiene datos de producto JSON-LD

Antes de escribir un selector o aprender una nueva herramienta, averigua si la página ya te proporciona datos limpios. Muchos sitios de proveedores incrustan datos estructurados en una etiqueta script con el tipo application/ld+json. Se sitúa aparte del diseño visible y existe para que los motores de búsqueda y otros sistemas puedan leer el producto de forma consistente.

Para comprobarlo, abre la página del producto, visualiza el código fuente de la página y busca ld+json. Si encuentras un bloque, léelo. Estás buscando un tipo de Product , normalmente con un anidado ”]} Offer que contiene el precio. Un extractor y verificador de esquemas JSON-LD gratuito JSON-LD extractor and schema checker puede extraer estos bloques por ti y señalar lo que está presente, lo que ayuda cuando el código fuente es un muro de código minificado.

Dos advertencias. No todos los sitios publican datos estructurados, y las herramientas que dependen de ellos no devuelven nada para las páginas sin marcado. Y una página puede contener varios tipos de esquema a la vez (migas de pan, organización, producto), así que asegúrate de que estás leyendo el ”]} leyendo el Product bloque y no algo al lado.

Realiza esta comprobación en un producto de cada proveedor, no en todas las URL. Los proveedores suelen utilizar una plantilla en todo el catálogo, por lo que un solo resultado te indica cómo se comportará el resto.

Paso 2: Extraer nombre, SKU, precio e imágenes de datos estructurados

Cuando el JSON-LD está presente, la extracción es sencilla porque los campos están etiquetados. Una herramienta como un extractor de esquemas de comercio electrónico lee el nombre, el precio, la moneda, la disponibilidad, la marca, el SKU, el GTIN, la calificación y las imágenes del esquema.org JSON-LD, microdatos y OpenGraph, lo que cubre la mayor parte de lo que un diseñador necesita.

Si prefiere programar usted mismo cómo analizar los datos del producto a partir de las URL, el proceso es corto. Obtenga la página, encuentre cada ld+json script, analice cada uno como JSON y seleccione el objeto cuyo tipo es Product. Luego lea estos campos:

  • name: el título del producto
  • sku o gtin: el identificador que cotizará en las órdenes de compra
  • brand: el fabricante
  • image: una URL o una lista de URL
  • offers: el precio, la moneda y la disponibilidad

Observe el par de precio y moneda. Son campos separados, y tratar el número solo como euros es exactamente cómo un presupuesto puede salir mal silenciosamente. Captúrelos ambos cada vez.

Verifique también cómo se enumeran las imágenes. Algunos sitios proporcionan una imagen principal única, otros una galería completa. Para los tableros de presentación, desea la versión de mayor resolución, así que observe el patrón de la URL y vea si existe una variante más grande.

La ventaja de esta ruta es la estabilidad. Debido a que los datos estructurados residen en su propia etiqueta de script, un rediseño del sitio que cambie el diseño rara vez lo rompe, por lo que su análisis es mucho menos frágil que cualquier cosa construida sobre selectores.

Paso 3: Recurrir al análisis de diseño y manejar páginas bloqueadas o de JavaScript

Algunas páginas no tienen datos estructurados utilizables. En ese caso, se analiza el diseño visible, localizando elementos por sus etiquetas y clases CSS. Una guía sobre Raspado web con Python para obtener información de productos muestra este estilo, utilizando selectores específicos como un encabezado product-title para extraer el nombre.

Aprender a extraer datos de productos de URLs mediante el análisis de diseño funciona, pero es frágil. Los selectores dependen de cómo esté construida la página, por lo que cuando el proveedor actualiza su plantilla, tu extracción puede devolver silenciosamente nada o capturar el elemento incorrecto. Mantén tus selectores en un solo lugar para que sean fáciles de arreglar y revisa la salida cada vez que un proveedor relance su sitio web.

Dos obstáculos adicionales surgen a menudo:

  • Bloqueo. Los grandes minoristas rechazarán una solicitud de script simple. Enviar encabezados de solicitud realistas ayuda, aunque algunos sitios necesitan más que eso.
  • Renderizado de JavaScript. Si el precio o la galería solo aparecen después de que la página ejecuta scripts, una solicitud simple ve una carcasa vacía. Para esas páginas, necesita un navegador sin cabeza como Playwright o Selenium, que carga la página de la manera que lo haría el navegador de una persona antes de que usted la lea.

Si eso suena a más ingeniería de la que un estudio de diseño quiere asumir, es comprensible. Este es el hueco para el que está diseñado el Web Clipper de ArchiBoard con IA: extrae fotos, precios y SKUs de una URL de proveedor sin que tengas que mantener selectores o configuraciones de renderizado. Elijas la ruta que elijas, pruébala con un puñado de URLs reales de cada proveedor antes de confiar en ella para un proyecto completo. El éxito en un sitio dice poco sobre el siguiente.

Paso 4: Normalizar moneda, eliminar duplicados y alimentar estimaciones

Saber cómo extraer datos de productos de URLs es solo la mitad del trabajo, porque la extracción en bruto aún no son datos utilizables. El último paso los hace comparables.

Normalizar la moneda. Almacena el precio y la moneda originales tal como se capturaron, luego conviértelos a la moneda base de tu proyecto utilizando un tipo de cambio que registres junto con la fecha. Conserva la cifra original, porque los tipos de cambio fluctúan y los proveedores facturan en su propia moneda. ArchiBoard maneja esto con estimaciones multimoneda en tiempo real, por lo que cada línea se convierte a la moneda del proyecto sin una segunda hoja de cálculo.

Eliminar duplicados. El mismo producto a menudo aparece bajo varias URLs: parámetros de seguimiento, variantes de color, dominios regionales, barras diagonales al final. Elimina las cadenas de consulta que no necesites, convierte el host a minúsculas y utiliza el SKU o GTIN como clave principal cuando exista uno. Dos registros con el mismo SKU del mismo proveedor son casi con certeza un solo producto.

Comprueba los campos que importan para interiores. Los datos estructurados rara vez incluyen atributos comerciales como dimensiones, acabado o tiempo de entrega, por lo que es posible que necesiten una revisión manual o la lectura del texto descriptivo. Marque cualquier registro al que le falte un precio o SKU para que no se incluya en un presupuesto como cero.

Alimente el presupuesto. Una vez que los registros estén limpios, deben asignarse a las habitaciones, no quedar en una lista plana. Asigne cada producto a una habitación, establezca las cantidades y deje que los totales se acumulen por habitación y por proyecto. Si está buscando pisos, por ejemplo, un conjunto de registros limpios hace que comparar opciones en el catálogo de parquets o en una base de datos de proveedores de pisos de parquet sea mucho más rápido, ya que cada candidato muestra los mismos campos uno al lado del otro.

Para omitir la parte de fontanería, puede explorar el catálogo de productos compartido de más de 62.000 artículos que ya incluyen marcas, precios y dimensiones, o crear una cuenta Starter gratuita y añadir la URL de su primer proveedor. De cualquier manera, el principio se mantiene: decida sus campos una vez, captúrelos de manera consistente y deje que los números hablen por sí solos.

Lee también