Panoramica
Olostep fornisce un’API di web scraping che consente il monitoraggio in tempo reale dei prezzi di milioni di prodotti su un e-commerce a intervalli regolari (ad esempio ogni poche ore) in modo scalabile ed economico. Questo è utile per le aziende che vogliono monitorare le fluttuazioni dei prezzi, confrontare i prezzi su più siti web o tracciare le strategie di prezzo dei concorrenti. In questa guida, vedremo come un cliente utilizza Olostep per impostare un monitoraggio automatico dei prezzi per milioni di prodotti Amazon ogni giorno.Perché Usare Olostep per il Monitoraggio dei Prezzi?
- Scalabilità: Monitora i prezzi di milioni di prodotti ogni poche ore.
- Automazione: Imposta attività di scraping programmate che si eseguono a orari predefiniti/intervalli regolari.
- Formati Multipli: Recupera i dati in formato JSON, html o markdown.
- Parser Personalizzati: Estrai solo le informazioni JSON rilevanti con i nostri parser o passa i tuoi all’API.
Come Monitorare i Prezzi Usando Olostep
Panoramica del Processo di Configurazione
Quando si monitorano prodotti su larga scala, consigliamo di utilizzare l’endpoint Batches di Olostep. Questo endpoint ti consente di inviare più batch di URL (ognuno fino a 10k) da elaborare in parallelo e poi recuperare i risultati dopo 5-8 minuti. Puoi inviare più batch contemporaneamente, monitorare il loro progresso e recuperare i risultati una volta completati. In questo modo puoi elaborare milioni di URL in 15-20 minuti. Il flusso complessivo per il monitoraggio dei prezzi usando Olostep è il seguente:- Leggi i prodotti dal database e salva gli URL che vuoi monitorare in un file CSV.
- Leggi i dati dal file CSV e avvia un batch usando l’endpoint batch di Olostep. Questo viene fatto inviando i dati all’endpoint in blocchi di massimo 10.000 URL alla volta.
- Controlla lo stato del batch ogni 60 secondi per monitorare il progresso.
- Una volta che il batch è completo, leggi il contenuto e usalo nel tuo flusso di lavoro.
Passo 1: Esporta i Dati dei Prodotti dal tuo Database
Il primo passo è recuperare le informazioni sui prodotti dal tuo database e salvarle in formato CSV. Questo file dovrebbe contenere identificatori di prodotto, URL e qualsiasi metadato aggiuntivo richiesto per il monitoraggio.Passo 2: Avvia un Batch con Olostep
Per avviare un batch, leggi i dati dei prodotti dal CSV e inviali all’endpoint batch di Olostep. Questo viene fatto utilizzando una richiesta HTTP POST con un payload JSON. Ogni batch può contenere fino a 10k URL. Per dataset di grandi dimensioni (>10.000 URL), dividi in più batch e inviali in parallelo. Un batch consiste in un array di elementi, dove ogni elemento rappresenta un URL di prodotto da elaborare. Ecco la struttura di una richiesta batchStruttura dell’Array del Batch
Ogni elemento nel batch_array dovrebbe seguire questa struttura:Array di elementi da elaborare. Massimo 10.000 URL per batch. Ogni elemento deve avere un
custom_id univoco.Codice paese a due lettere (ad es., “IT” per l’Italia).
Nome del parser personalizzato da utilizzare (ad es., “@olostep/amazon-it-product”). Contattaci a info@olostep.com per ottenere accesso ai parser predefiniti o per crearne uno tuo.
Passo 3: Monitora lo Stato del Batch
Una volta avviato un batch, dovrai monitorare il suo stato per determinare quando l’elaborazione è completa. L’API fornisce un endpoint di stato che può essere interrogato periodicamente (ad es., ogni 60 secondi) con il batch_idPasso 4: Recupera gli ID per gli Elementi Completati
Una volta che il batch è contrassegnato come completato, puoi recuperare l’elenco degli elementi completati. Ogni elemento avrà un retrieve_id. Se vuoi il contenuto effettivo usa l’endpoint retrieve passando ilretrieve_id
retrieve_id per ogni URL inviato. Puoi quindi utilizzare l’endpoint retrieve per recuperare e memorizzare i dati estratti (html, markdown o JSON) per ogni URL.
Puoi ottenere il retrieve_id per ogni elemento nel batch usando il seguente codice:
Passo 5: Recupera il Contenuto per ciascun Elemento
Una volta che hai ilretrieve_id per ciascun elemento, puoi recuperare il suo contenuto (HTML, Markdown o JSON) usando l’endpoint retrieve: