PyPI Package: 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 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-Aangedreven 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-Aangedreven 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 traverseren | create(), info(), pages() |
maps | Linkextractie | create(), urls() |
answers | AI-aangedreven extractie | create(), get() |
retrieve | Content ophalen | get() |
Foutafhandeling
Vang alle SDK-fouten op met behulp van de basis uitzondering klasse:Automatische Herhalingen
De SDK herhaalt automatisch 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 Input Coercion
De SDK behandelt intelligent verschillende invoerformaten voor maximale gebruiksgemak:Geavanceerde Scraping Opties
Batchverwerking met Aangepaste ID’s
Intelligente Crawling
Site Mapping met Filters
Antwoorden Ophalen
Content Ophalen
Logging
Schakel logging in om problemen op te sporen:INFO (aanbevolen), DEBUG (gedetailleerd), WARNING, ERROR
Retry Strategy 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:- Max retries: 5 pogingen
- Initiële vertraging: 2 seconden
- Backoff: Exponentieel (2^poging)
- Jitter: 10-90% van vertraging (gerandomiseerd)
- 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 Gebeuren
De SDK herhaalt automatisch bij:- Tijdelijke serverproblemen (
OlostepServerError_TemporaryIssue) - Timeout antwoorden (
OlostepServerError_NoResultInResponse)
Transport vs Caller Herhalingen
De SDK heeft twee herhalingslagen:- Transportlaag: Behandelt netwerk-niveau verbindingsfouten (DNS, timeouts, etc.)
- Callerlaag: Behandelt API-niveau tijdelijke fouten (gecontroleerd door
RetryStrategy)
Berekenen van Maximale Duur
Configuratievoorbeelden
Hier zijn enkele voorbeelden van hoe je de herhalingsstrategie 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 herhalingsinformatie 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
Uitzonderingshiërarchie
De Olostep SDK biedt een uitgebreide uitzonderingshiërarchie voor verschillende faalscenario’s. Alle uitzonderingen erven vanOlostep_BaseError.
Er zijn drie hoofdtypen fouten die direct erven van Olostep_BaseError:
Olostep_APIConnectionError- Netwerk-niveau 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 netwerk-niveau 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-antwoorden 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 opgeworpen (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 werkelijke 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 | Request timeout (seconden) | 150 |
Hulp Krijgen
Bronnen
PyPI Package
Bekijk op PyPI
Verkrijg API-sleutel
Meld je gratis aan