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.
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.
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: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 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. Geefstorage 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:INFO (aanbevolen), DEBUG (gedetailleerd), WARNING, ERROR
Retry Strategie Configuratie
DeRetryStrategy 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)
- 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 netwerklaag-verbindingfouten (DNS, timeouts, etc.)
- Callerlaag: Behandelt API-laag tijdelijke fouten (gecontroleerd door
RetryStrategy)
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: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: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
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- Netwerklaag-verbindingfoutenOlostepServerError_BaseError- Fouten veroorzaakt (soort van) door de API-serverOlostepClientError_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: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 daadwerkelijke probleem aangeven:
Configuratie
Omgevingsvariabelen
Hulp Krijgen
Bronnen
PyPI Pakket
Bekijk op PyPI
Verkrijg API-sleutel
Meld je gratis aan