Naar hoofdinhoud gaan
PyPI Pakket: olostep | Vereisten: Python 3.11+

Installatie

Authenticatie

Haal je API-sleutel op van het Olostep Dashboard.

Snelle Start

De SDK biedt twee clientopties, afhankelijk van je gebruikssituatie:

Sync Client (Olostep)

Beste voor: Scripts en eenvoudige gebruikssituaties waar je voorkeur hebt voor blokkerende operaties.

De sync client biedt een eenvoudigere, blokkerende interface die gemakkelijker te gebruiken is als je nieuw bent met async/await.

Async Client (AsyncOlostep)

Beste voor: Productietoepassingen en het afhandelen van veel gelijktijdige verzoeken.

De async client biedt niet-blokkerende operaties en is de aanbevolen keuze voor productietoepassingen die hoge doorvoer nodig hebben.

Sync Client (Olostep)

De sync client (Olostep) biedt een blokkerende interface die perfect is voor scripts en eenvoudige gebruikssituaties.

Basis Web Scraping

Batchverwerking

Slim Web Crawlen

Site Mapping

AI-aangedreven Antwoorden

Async Client (AsyncOlostep)

De async client (AsyncOlostep) is de aanbevolen client voor toepassingen met hoge prestaties, backendservices, en wanneer je veel gelijktijdige verzoeken moet afhandelen.

Basis Web Scraping

Batchverwerking

Slim Web Crawlen

Site Mapping

AI-aangedreven Antwoorden

SDK Referentie

Methode Structuur

Beide SDK-clients bieden dezelfde schone, pythonische interface georganiseerd in logische namespaces: Elke operatie retourneert stateful objecten met ergonomische methoden voor vervolgoperaties.

Foutafhandeling

Vang alle SDK-fouten op met de basis-exceptieklasse:
Voor gedetailleerde foutafhandelingsinformatie, inclusief de volledige exceptiehiërarchie en gedetailleerde foutafhandelingsopties, zie Gedetailleerde Foutafhandeling.

Automatische Herhalingen

De SDK probeert automatisch opnieuw bij tijdelijke fouten (netwerkproblemen, tijdelijke serverproblemen) op basis van de RetryStrategy configuratie. Je kunt het herhalingsgedrag aanpassen door een RetryStrategy instantie door te geven bij het maken van de client:
Voor gedetailleerde herhalingsconfiguratie-opties en best practices, zie Retry Strategie.

Geavanceerde Functies

Slimme Input Coercion

De SDK behandelt intelligent verschillende invoerformaten voor maximale gemak:

Geavanceerde Scraping Opties

Caching

Standaard haalt elk scrape-verzoek de pagina vers op (max_age=0). Geef max_age door om een recent resultaat met dezelfde parameters opnieuw te gebruiken en de responstijd te verbeteren. De waarde is in seconden; de maximum is 7 dagen (604800). Zie Caching voor details.

Opslag

Standaard wordt een scrape-resultaat ongeveer 7 dagen bewaard. Geef storage door met expires_in ingesteld op 10d, 30d, 60d, 90d, 180d, 365d, of never om het langer te bewaren. Zie Opslag voor details.

Batchverwerking met Aangepaste ID’s

Intelligente Crawling

Site Mapping met Filters

Antwoorden Ophalen

Inhoud Ophalen

Logging

Schakel logging in om problemen op te sporen:
Logniveaus: INFO (aanbevolen), DEBUG (gedetailleerd), WARNING, ERROR

Retry Strategie Configuratie

De RetryStrategy klasse regelt hoe de Olostep SDK omgaat met tijdelijke API-fouten door middel van automatische herhalingen met exponentiële backoff en jitter. Dit helpt om betrouwbare werking te garanderen in productieomgevingen waar tijdelijke netwerkproblemen, snelheidslimieten en serveroverbelasting intermitterende fouten kunnen veroorzaken.

Standaard Gedrag

Standaard gebruikt de SDK de volgende retry-configuratie:
  • Max retries: 5 pogingen
  • Initiële vertraging: 2 seconden
  • Backoff: Exponentieel (2^poging)
  • Jitter: 10-90% van vertraging (gerandomiseerd)
Dit betekent:
  • Poging 1: Onmiddellijk
  • Poging 2: ~2-3.6s vertraging
  • Poging 3: ~4-7.2s vertraging
  • Poging 4: ~8-14.4s vertraging
  • Poging 5: ~16-28.8s vertraging
Maximale duur: ~57 seconden voor alle herhalingen (slechtste geval)

Aangepaste Configuratie

Wanneer Herhalingen Plaatsvinden

De SDK probeert automatisch opnieuw bij:
  • Tijdelijke serverproblemen (OlostepServerError_TemporaryIssue)
  • Timeout reacties (OlostepServerError_NoResultInResponse)
Andere fouten (authenticatie, validatie, resource niet gevonden, etc.) falen onmiddellijk zonder herhaling.

Transport vs Caller Herhalingen

De SDK heeft twee herhalingslagen:
  1. Transportlaag: Behandelt netwerklaag-verbindingfouten (DNS, timeouts, etc.)
  2. Callerlaag: Behandelt API-laag tijdelijke fouten (gecontroleerd door RetryStrategy)
Beide lagen zijn onafhankelijk en hebben aparte configuratie. De totale maximale duur is de som van beide lagen.

Berekening van Maximale Duur

Configuratievoorbeelden

Hier zijn enkele voorbeelden van hoe je de retry-strategie kunt configureren voor verschillende gebruikssituaties.

Conservatieve Strategie

Agressieve Strategie

Geen Herhalingen (Snel Falen)

Hoge-Throughput Strategie

Begrijpen van Jitter

Jitter voegt randomisatie toe om “thundering herd” problemen te voorkomen wanneer veel clients tegelijk opnieuw proberen. De jitter wordt als volgt berekend:
Bijvoorbeeld, met initial_delay=2.0, jitter_min=0.1, jitter_max=0.9:
  • Poging 0: basis=2.0s, jitter=0.2-1.8s, eind=2.2-3.8s
  • Poging 1: basis=4.0s, jitter=0.4-3.6s, eind=4.4-7.6s
  • Poging 2: basis=8.0s, jitter=0.8-7.2s, eind=8.8-15.2s

Best Practices

Voor Productietoepassingen

Voor Ontwikkeling/Testen

Voor Batch Operaties

Monitoring en Debugging

De SDK logt retry-informatie op het DEBUG-niveau:
Schakel debug logging in om het herhalingsgedrag te monitoren:

Foutafhandeling

Wanneer alle herhalingen zijn uitgeput, wordt de oorspronkelijke fout opgeworpen:

Prestatieoverwegingen

  • Geheugen: Elke herhalingspoging gebruikt extra geheugen voor verzoek/antwoord-objecten
  • Tijd: Totale operatietijd kan aanzienlijk langer zijn met herhalingen ingeschakeld
  • API-limieten: Herhalingen tellen mee voor je API-gebruiksbeperkingen
  • Netwerk: Meer netwerkverkeer door herhalingspogingen
Kies je retry-strategie op basis van de vereisten van je toepassing voor betrouwbaarheid versus prestaties.

Gedetailleerde Foutafhandeling

Exceptiehiërarchie

De Olostep SDK biedt een uitgebreide exceptiehiërarchie voor verschillende faalscenario’s. Alle excepties erven van Olostep_BaseError. Er zijn drie hoofdtypen fouten die direct erven van Olostep_BaseError:
  1. Olostep_APIConnectionError - Netwerklaag-verbindingfouten
  2. OlostepServerError_BaseError - Fouten veroorzaakt (soort van) door de API-server
  3. OlostepClientError_BaseError - Fouten veroorzaakt door de client SDK

Waarom Verbindingfouten Apart Zijn

Olostep_APIConnectionError is apart van serverfouten omdat het netwerklaag-fouten vertegenwoordigt die optreden voordat de API het verzoek kan verwerken. Dit zijn transportlaagproblemen (DNS of HTTP-fouten, timeouts, verbinding geweigerd, etc.) in plaats van API-laagfouten. HTTP-statuscodes (4xx, 5xx) worden beschouwd als API-reacties en worden gecategoriseerd als serverfouten, ook al geven ze problemen aan.

Aanbevolen Foutafhandeling

Voor de meeste gebruikssituaties, vang de basisfout op en print de foutnaam:
Deze aanpak vangt alle SDK-fouten op en geeft duidelijke informatie over wat er misging. De foutnaam (bijv. OlostepServerError_AuthFailed) is beschrijvend genoeg om het probleem te begrijpen.

Gedetailleerde Foutafhandeling

Als je meer specifieke foutafhandeling nodig hebt, vang dan de specifieke fouttypen direct op. Vermijd het gebruik van OlostepServerError_BaseError of OlostepClientError_BaseError - deze basisklassen geven alleen aan wie de fout heeft veroorzaakt (server vs client), niet wie verantwoordelijk is voor het oplossen ervan. Dit is een implementatiedetail die niet helpt bij foutafhandelingslogica. In plaats daarvan, vang specifieke fouttypen op die het daadwerkelijke probleem aangeven:

Configuratie

Omgevingsvariabelen

Hulp Krijgen

Bronnen

PyPI Pakket

Bekijk op PyPI

Verkrijg API-sleutel

Meld je gratis aan