Resumen
Olostep proporciona una API de scraping web que permite el seguimiento en tiempo real de precios de millones de productos en un comercio electrónico a intervalos regulares (por ejemplo, cada pocas horas) de una manera escalable y rentable. Esto es útil para empresas que desean monitorear fluctuaciones de precios, comparar precios en múltiples sitios web o rastrear estrategias de precios de la competencia. En esta guía, veremos cómo un cliente está usando Olostep para configurar un seguimiento automatizado de precios para millones de productos de Amazon diariamente.¿Por qué usar Olostep para el seguimiento de precios?
- Escalabilidad: Rastrea precios de millones de productos cada pocas horas.
- Automatización: Configura tareas de scraping programadas que se ejecutan en tiempos predefinidos/intervalos regulares.
- Múltiples formatos: Recupera datos en formato JSON, html o markdown.
- Parsers personalizados: Extrae solo la información JSON relevante con nuestros parsers o pasa el tuyo propio a la API.
Cómo rastrear precios usando Olostep
Resumen de la configuración del proceso
Al rastrear productos a gran escala, recomendamos usar el endpoint de Batches de Olostep. Este endpoint te permite enviar múltiples lotes de URLs (cada uno de hasta 10k) para ser procesados en paralelo y luego recuperar los resultados después de 5-8 minutos. Puedes enviar múltiples lotes al mismo tiempo, monitorear su progreso y recuperar los resultados una vez que estén completos. De esta manera, puedes procesar millones de URLs en 15-20 minutos. El flujo general para el seguimiento de precios usando Olostep es el siguiente:- Lee los productos de la base de datos y guarda las URLs que deseas rastrear en un archivo CSV.
- Lee los datos del archivo CSV e inicia un lote usando el endpoint de lotes de Olostep. Esto se hace publicando los datos en el endpoint en fragmentos de hasta 10,000 URLs a la vez.
- Verifica el estado del lote cada 60 segundos para monitorear el progreso.
- Una vez que el lote esté completo, lee el contenido y úsalo en tu flujo de trabajo.
Paso 1: Exportar datos de productos desde tu base de datos
El primer paso es recuperar la información del producto desde tu base de datos y guardarla en formato CSV. Este archivo debe contener identificadores de productos, URLs y cualquier metadato adicional requerido para el seguimiento.Paso 2: Iniciar un lote con Olostep
Para iniciar un lote, lee los datos del producto desde el CSV y envíalos al endpoint de lotes de Olostep. Esto se hace usando una solicitud HTTP POST con una carga útil JSON. Cada lote puede tener hasta 10k URLs. Para conjuntos de datos grandes (>10,000 URLs), divídelos en múltiples lotes y envíalos en paralelo. Un lote consiste en un array de elementos, donde cada elemento representa una URL de producto a procesar. Aquí está la estructura de una solicitud de loteEstructura del Array de Lote
Cada elemento en el batch_array debe seguir esta estructura:Array de elementos a procesar. Máximo de 10,000 URLs por lote. Cada elemento debe tener un
custom_id único.Código de país de dos letras (por ejemplo, “IT” para Italia).
Nombre del parser personalizado a usar (por ejemplo, “@olostep/amazon-it-product”). Contáctanos en info@olostep.com para obtener acceso a los parsers preconstruidos o para crear el tuyo propio.
Paso 3: Monitorear el Estado del Lote
Una vez que se inicia un lote, necesitarás monitorear su estado para determinar cuándo se completa el procesamiento. La API proporciona un endpoint de estado que puede ser consultado periódicamente (por ejemplo, cada 60 segundos) con el batch_idPaso 4: Recuperar los IDs de los Elementos Completados
Una vez que el lote se marca como completado, puedes obtener la lista de elementos completados. Cada elemento tendrá un retrieve_id. Si deseas el contenido real, usa el endpoint de recuperación pasando elretrieve_id
retrieve_id para cada URL enviada. Luego puedes usar el endpoint de recuperación para recuperar y almacenar los datos extraídos (html, markdown o JSON) para cada URL.
Puedes obtener el retrieve_id para cada elemento en el lote usando el siguiente código:
Paso 5: Recuperar el Contenido para cada Elemento
Una vez que tienes elretrieve_id para cada elemento, puedes obtener su contenido (HTML, Markdown o JSON) usando el endpoint de recuperación: