Overzicht
Olostep biedt een web scraping API die real-time prijsbewaking van miljoenen producten op een e-commerce platform mogelijk maakt op regelmatige intervallen (bijvoorbeeld 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 de prijsstrategieën van concurrenten willen volgen. In deze gids zullen we zien hoe een klant Olostep gebruikt om geautomatiseerde prijsbewaking op te zetten voor miljoenen Amazon-producten per dag.Waarom Olostep gebruiken voor prijsbewaking?
- Schaalbaarheid: Volg prijzen voor miljoenen producten elke paar uur.
- Automatisering: Stel geplande scraping-taken in die op vooraf bepaalde tijden/reguliere 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 volgen met Olostep
Overzicht van het proces
Bij het volgen van producten op grote 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 100k) parallel te laten verwerken en vervolgens de resultaten na 5-8 minuten op te halen. Je kunt meerdere batches tegelijkertijd verzenden, hun voortgang monitoren en de resultaten ophalen zodra ze voltooid zijn. Op deze manier kun je miljoenen URL’s verwerken in 15-20 minuten. De algemene flow voor prijsbewaking 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 behulp van Olostep’s batch endpoint. Dit doe je door de gegevens in stukken van maximaal 100.000 URL’s per keer naar het endpoint te posten.
- Controleer elke 60 seconden de batchstatus om de voortgang te monitoren.
- Zodra de batch voltooid is, lees je de inhoud en gebruik je deze in je workflow.
Stap 1: Exporteer productgegevens uit je database
De eerste stap is om productinformatie uit je database op te halen en op te slaan in een CSV-formaat. 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 doe je met een HTTP POST-verzoek met een JSON-payload. Elke batch kan maximaal 100k URL’s bevatten. Voor grote datasets (>100.000 URL’s), splits je deze in meerdere batches en stuur je 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
vereist
Array van items om te verwerken. Maximum van 100.000 URL’s per batch. Elk item moet een unieke
custom_id hebben.string
vereist
Tweeletterige landcode (bijv. “IT” voor Italië).
string
Naam van de aangepaste parser die je wilt 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 parser te maken.
Stap 3: Monitor de batchstatus
Zodra een batch is gestart, moet je de status ervan monitoren om te bepalen wanneer de verwerking is voltooid. De API biedt een status endpoint dat periodiek kan worden gepolld (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 heeft een retrieve_id. Als je de daadwerkelijke inhoud wilt, gebruik je 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 ophalen 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: