PyPI Pakket: olostep | Vereisten: Python 3.11+
Installatie
Authenticatie
Verkrijg je API-sleutel 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 geeft aan blokkerende operaties.
De sync client biedt een eenvoudigere, blokkerende interface die gemakkelijker is om mee te beginnen als je nieuw bent met async/await.
De sync client biedt een eenvoudigere, blokkerende interface die gemakkelijker is om mee te beginnen 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 vereisen.
De async client biedt niet-blokkerende operaties en is de aanbevolen keuze voor productietoepassingen die hoge doorvoer vereisen.
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-Gestuurde Antwoorden
Async Client (AsyncOlostep)
De async client (AsyncOlostep) is de aanbevolen client voor high-performance toepassingen, backend services en wanneer je veel gelijktijdige verzoeken moet afhandelen.
Basis Web Scraping
Batchverwerking
Slim Web Crawlen
Site Mapping
AI-Gestuurde Antwoorden
SDK Referentie
Methode Structuur
Beide SDK-clients bieden dezelfde schone, pythonische interface georganiseerd in logische namespaces:| Namespace | Doel | Belangrijkste Methoden |
|---|---|---|
scrapes | Enkel URL-extractie | create(), get() |
batches | Multi-URL verwerking | create(), info(), items() |
crawls | Website navigatie | create(), info(), pages() |
maps | Link extractie | create(), urls() |
answers | AI-gestuurde extractie | create(), get() |
retrieve | Inhoud ophalen | get() |
Foutafhandeling
Vang alle SDK-fouten op met de basis uitzondering klasse:Automatische Herhalingen
De SDK probeert automatisch opnieuw bij tijdelijke fouten (netwerkproblemen, tijdelijke serverproblemen) op basis van deRetryStrategy configuratie. Je kunt het herhalingsgedrag aanpassen door een RetryStrategy instantie door te geven bij het maken van de client:
Geavanceerde Functies
Slimme Invoer Coercion
De SDK behandelt intelligent verschillende invoerformaten voor maximaal gemak:Geavanceerde Scraping Opties
Batchverwerking met Aangepaste ID’s
Intelligente Crawling
Site Mapping met Filters
Antwoorden Ophalen
Inhoud Ophalen
Logging
Schakel logging in om problemen op te sporen:INFO (aanbevolen), DEBUG (gedetailleerd), WARNING, ERROR
Retry Strategie Configuratie
DeRetryStrategy klasse bepaalt 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 (willekeurig)
- 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
Aangepaste Configuratie
Wanneer Herhalingen Plaatsvinden
De SDK probeert automatisch opnieuw bij:- Tijdelijke serverproblemen (
OlostepServerError_TemporaryIssue) - Timeout reacties (
OlostepServerError_NoResultInResponse)
Transport vs Caller Herhalingen
De SDK heeft twee herhalingslagen:- Transportlaag: Behandelt netwerkniveau verbindingsfouten (DNS, timeouts, etc.)
- Callerlaag: Behandelt API-niveau tijdelijke fouten (bepaald door
RetryStrategy)
Berekening van Maximale Duur
Configuratie Voorbeelden
Hier zijn enkele voorbeelden van hoe je de retry strategie kunt configureren voor verschillende gebruikssituaties.Conservatieve Strategie
Agressieve Strategie
Geen Herhalingen (Snel Falen)
Hoge Doorvoer Strategie
Begrijpen van Jitter
Jitter voegt randomisatie toe om “thundering herd” problemen te voorkomen wanneer veel clients tegelijkertijd opnieuw proberen. De jitter wordt berekend als:initial_delay=2.0, jitter_min=0.1, jitter_max=0.9:
- Poging 0: base=2.0s, jitter=0.2-1.8s, final=2.2-3.8s
- Poging 1: base=4.0s, jitter=0.4-3.6s, final=4.4-7.6s
- Poging 2: base=8.0s, jitter=0.8-7.2s, final=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: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
Gedetailleerde Foutafhandeling
Uitzondering Hiërarchie
De Olostep SDK biedt een uitgebreide uitzondering hiërarchie voor verschillende faalscenario’s. Alle uitzonderingen erven vanOlostep_BaseError.
Er zijn drie hoofdtype fouten die direct erven van Olostep_BaseError:
Olostep_APIConnectionError- Netwerkniveau verbindingsfoutenOlostepServerError_BaseError- Fouten opgeworpen (soort van) door de API-serverOlostepClientError_BaseError- Fouten opgeworpen door de client SDK
Waarom Verbindingsfouten Apart Zijn
Olostep_APIConnectionError is apart van serverfouten omdat het netwerkniveau 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-niveau fouten. HTTP-statuscodes (4xx, 5xx) worden beschouwd als API-reacties en worden gecategoriseerd als serverfouten, ook al duiden ze op problemen.
Aanbevolen Foutafhandeling
Voor de meeste gebruikssituaties, vang de basisfout op en print de foutnaam:OlostepServerError_AuthFailed) is beschrijvend genoeg om het probleem te begrijpen.
Gedetailleerde Foutafhandeling
Als je meer specifieke foutafhandeling nodig hebt, vang dan de specifieke fouttypes direct op. Vermijd het gebruik vanOlostepServerError_BaseError of OlostepClientError_BaseError - deze basisklassen geven alleen aan wie de fout heeft opgeworpen (server vs client), niet wie verantwoordelijk is voor het oplossen ervan. Dit is een implementatiedetail die niet helpt bij foutafhandelingslogica.
Vang in plaats daarvan specifieke fouttypes op die het daadwerkelijke probleem aangeven:
Configuratie
Omgevingsvariabelen
| Variabele | Beschrijving | Standaard |
|---|---|---|
OLOSTEP_API_KEY | Je API-sleutel | Vereist |
OLOSTEP_BASE_API_URL | API basis URL | https://api.olostep.com/v1 |
OLOSTEP_API_TIMEOUT | Verzoek timeout (seconden) | 150 |
Hulp Krijgen
Bronnen
PyPI Pakket
Bekijk op PyPI
Verkrijg API-sleutel
Meld je gratis aan