Overzicht
Olostep biedt een web scraping API die real-time prijsvolging van miljoenen producten op een e-commerce platform mogelijk maakt op regelmatige intervallen (bijv. elke paar uur) op een schaalbare en kosteneffectieve manier. Dit is nuttig voor bedrijven die prijsfluctuaties willen monitoren, prijzen willen vergelijken op meerdere websites, of prijsstrategieën van concurrenten willen volgen. In deze gids zullen we zien hoe een klant Olostep gebruikt om geautomatiseerde prijsvolging voor miljoenen Amazon-producten dagelijks op te zetten.Waarom Olostep Gebruiken voor Prijs Volgen?
- Schaalbaarheid: Volg prijzen voor miljoenen producten elke paar uur.
- Automatisering: Stel geplande scraping-taken in die op vooraf bepaalde tijden/regelmatige intervallen worden uitgevoerd.
- Meerdere Formaten: Haal gegevens op in JSON, html of markdown formaat.
- Aangepaste Parsers: Haal alleen de relevante JSON-informatie op met onze parsers of geef je eigen parser door aan de API.
Hoe Prijzen te Volgen met Olostep
Overzicht van het Proces
Bij het volgen van producten op schaal raden we aan om Olostep’s Batches endpoint te gebruiken. Dit endpoint stelt je in staat om meerdere batches van URL’s (elk tot 10k) parallel te laten verwerken en vervolgens de resultaten na 5-8 minuten op te halen. Je kunt meerdere batches tegelijk verzenden, hun voortgang monitoren en de resultaten ophalen zodra ze compleet zijn. Op deze manier kun je miljoenen URL’s in 15-20 minuten verwerken. De algemene flow voor prijsvolging met Olostep is als volgt:- Lees de producten uit de database en sla de URL’s die je wilt volgen op in een CSV-bestand.
- Lees de gegevens uit het CSV-bestand en start een batch met Olostep’s batch endpoint. Dit gebeurt door de gegevens in stukken van maximaal 10.000 URL’s per keer naar het endpoint te posten.
- Controleer elke 60 seconden de batchstatus om de voortgang te monitoren.
- Zodra de batch compleet is, lees de inhoud en gebruik deze in je workflow.
Stap 1: Exporteer Productgegevens uit je Database
De eerste stap is om productinformatie uit je database op te halen en deze in een CSV-formaat op te slaan. Dit bestand moet productidentificatoren, URL’s en eventuele extra metadata bevatten die nodig zijn voor het volgen.Stap 2: Start een Batch met Olostep
Om een batch te starten, lees je de productgegevens uit de CSV en stuur je deze naar het Olostep batch endpoint. Dit gebeurt met een HTTP POST-verzoek met een JSON-payload. Elke batch kan maximaal 10k URL’s bevatten. Voor grote datasets (>10.000 URL’s), splits in meerdere batches en stuur ze parallel. Een batch bestaat uit een array van items, waarbij elk item een product-URL vertegenwoordigt die moet worden verwerkt. Hier is de structuur van een batchverzoek:Structuur van de Batch Array
Elk item in de batch_array moet deze structuur volgen:Array van items om te verwerken. Maximaal 10.000 URL’s per batch. Elk item moet een unieke
custom_id hebben.Tweeletterige landcode (bijv. “IT” voor Italië).
Naam van de aangepaste parser om te gebruiken (bijv. “@olostep/amazon-it-product”). Neem contact met ons op via info@olostep.com om toegang te krijgen tot de vooraf gebouwde parsers of om je eigen te maken.
Stap 3: Monitor Batch Status
Zodra een batch is gestart, moet je de status monitoren om te bepalen wanneer de verwerking is voltooid. De API biedt een status endpoint dat periodiek kan worden gepolst (bijv. elke 60 seconden) met de batch_idStap 4: Haal de ID’s op voor Voltooide Items
Zodra de batch als voltooid is gemarkeerd, kun je de lijst met voltooide items ophalen. Elk item zal een retrieve_id hebben. Als je de daadwerkelijke inhoud wilt, gebruik dan het retrieve endpoint door deretrieve_id door te geven
retrieve_id hebben voor elke verzonden URL. Je kunt vervolgens het retrieve endpoint gebruiken om de geëxtraheerde gegevens (html, markdown of JSON) voor elke URL op te halen en op te slaan.
Je kunt de retrieve_id voor elk item in de batch verkrijgen met de volgende code:
Stap 5: Haal de Inhoud op voor elk Item
Zodra je deretrieve_id voor elk item hebt, kun je de inhoud (HTML, Markdown of JSON) ophalen met behulp van het retrieve endpoint: