PyPI Pakket: olostep | Vereisten: Python 3.11+
Installatie
Authenticatie
Verkrijg je API-sleutel van het Olostep Dashboard.Snel Starten
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 te gebruiken is als je nieuw bent met async/await.
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 een hoge doorvoer nodig hebben.
De async client biedt niet-blokkerende operaties en is de aanbevolen keuze voor productietoepassingen die een 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-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:
Elke operatie retourneert stateful objecten met ergonomische methoden voor vervolgoperaties.
Foutafhandeling
Vang alle SDK-fouten op met behulp van de basis-exceptieklasse: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 Invoercoërcie
De SDK behandelt intelligent verschillende invoerformaten voor maximaal gemak:Geavanceerde Scraping Opties
Caching
Standaard haalt elke scrape-aanvraag 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. Waarde is in seconden; het maximum is 7 dagen (604800). Zie Caching 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: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.
Standaardgedrag
Standaard gebruikt de SDK de volgende herhalingsconfiguratie:- Maximale herhalingen: 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 Oproeper Herhalingen
De SDK heeft twee herhalingslagen:- Transportlaag: Behandelt netwerk-niveau verbindingsfouten (DNS, timeouts, enz.)
- Oproeperlaag: Behandelt API-niveau tijdelijke fouten (gecontroleerd door
RetryStrategy)
Berekenen 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 Doorvoer Strategie
Begrijpen van Jitter
Jitter voegt randomisatie toe om “thundering herd” problemen te voorkomen wanneer veel clients tegelijkertijd opnieuw proberen. De jitter wordt als volgt berekend: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 request/response 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
Exceptiehiërarchie
De Olostep SDK biedt een uitgebreide exceptiehiërarchie voor verschillende faalscenario’s. Alle excepties erven vanOlostep_BaseError.
Er zijn drie hoofdtypen fouten die direct erven van Olostep_BaseError:
Olostep_APIConnectionError- Netwerk-niveau verbindingsfoutenOlostepServerError_BaseError- Fouten veroorzaakt door de API-serverOlostepClientError_BaseError- Fouten veroorzaakt door de client SDK
Waarom Verbinding Fouten Apart Zijn
Olostep_APIConnectionError is apart van serverfouten omdat het netwerk-niveau fouten vertegenwoordigt die optreden voordat de API het verzoek kan verwerken. Dit zijn transportlaagproblemen (DNS of HTTP-fouten, timeouts, verbinding geweigerd, enz.) in plaats van API-niveau fouten. HTTP-statuscodes (4xx, 5xx) worden beschouwd als API-reacties en worden gecategoriseerd als serverfouten, zelfs als ze problemen aangeven.
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 fouttypen direct op. Vermijd het gebruik vanOlostepServerError_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 eigenlijke probleem aangeven:
Configuratie
Omgevingsvariabelen
Hulp Krijgen
Bronnen
PyPI Pakket
Bekijk op PyPI
Verkrijg API-sleutel
Meld je gratis aan