Verwandle jede URL in LLM-bereites Markdown, HTML, Screenshots, PDFs oder strukturiertes JSON.
Über den Olostep /v1/scrapes Endpunkt kannst du LLM-freundliches Markdown, HTML, Text, Screenshots oder strukturiertes JSON in Echtzeit aus jeder URL extrahieren.
Gibt sauberes Markdown, strukturierte Daten, Screenshots oder HTML aus
Du kannst den Endpunkt verwenden, um eine einzelne URL zu scrapen und Ausgabeformate auszuwählen. Die obligatorischen Parameter sind url_to_scrape und formats.Einige andere häufige Parameter sind wait_before_scraping (in Millisekunden), remove_css_selectors (Standard, keine oder ein Array von Selektoren) und country.
Die API gibt ein scrape-Objekt als Antwort zurück.Das scrape hat einige Eigenschaften wie id und result.Das result-Objekt hat die folgenden Felder (je nach formats-Parameter können einige null sein):
html_content: der HTML-Inhalt der Seite. Gib formats: ["html"] an, um dies zu erhalten.
markdown_content: der MD-Inhalt der Seite. Gib formats: ["markdown"] an, um dies zu erhalten.
text_content: der Textinhalt der Seite. Gib formats: ["text"] an, um dies zu erhalten.
json_content: der JSON-Inhalt der Seite. Gib formats: ["json"] an, um dies zu erhalten, und stelle auch einen parser oder llm_extract-Parameter bereit.
screenshot_hosted_url: die gehostete URL des Screenshots.
html_hosted_url: die gehostete URL des HTML-Inhalts
markdown_hosted_url: die gehostete URL des Markdown-Inhalts
json_hosted_url: die gehostete URL des JSON-Inhalts
text_hosted_url: die gehostete URL des Textinhalts
Um die Geschwindigkeit zu optimieren, bietet Olostep eine optionale gemeinsame Caching-Schicht für HTML-, Markdown-, Text- und geparste JSON-Ergebnisse.
Wenn ein Scrape angefordert wird, überprüft Olostep, ob ein passendes Scrape mit denselben Parametern bereits existiert. Wenn ein ausreichend frisches Match gefunden wird, wird der Inhalt sofort aus Olosteps Speicher bereitgestellt, ohne einen neuen Browser-Scrape zu starten.
Gemeinsamer Cache: Der Cache wird global geteilt. Wenn eine andere Anfrage dieselbe URL mit derselben Konfiguration innerhalb deines Frischefensters gescrapt hat, profitierst du von der Geschwindigkeitssteigerung.
Nachbearbeitung ist weiterhin live: Operationen wie llm_extract und links_on_page-Filter werden on-the-fly auf dem zwischengespeicherten Dokument ausgeführt. Du cachest nur die Kernseitenabfrage und hältst deine strukturierten Extraktionen dynamisch.
Standardmäßig führt die Produktions-API immer einen Live-Scrape durch, um Echtzeitgenauigkeit zu gewährleisten. Du kannst das Caching mit dem max_age-Parameter aktivieren.
Parameter
Typ
Standard
Beschreibung
max_age
integer
0
Akzeptables Inhaltsalter in Sekunden. Wenn eine zwischengespeicherte Kopie existiert und neuer als max_age Sekunden ist, wird sie aus dem Cache bereitgestellt.
Standard-API-Verhalten (max_age: 0): Jede API-Anfrage löst einen frischen Scrape aus.
Standard-Playground-Verhalten: Im Dashboard-Playground ist max_age standardmäßig auf 24 Stunden (86400 Sekunden) eingestellt, um redundante Scrapes zu verhindern und Credits zu sparen, während du entwickelst und testest.
Maximales Alter: Der Cache hat ein hartes Limit von 7 Tagen (604800 Sekunden). Jede angeforderte max_age über diesem Limit fällt auf ein Maximum von 7 Tagen zurück.
from olostep import Olostepclient = Olostep(api_key="YOUR_REAL_KEY")# Opt-in zum Caching: Akzeptiere Ergebnisse bis zu 1 Tag (86400 Sekunden) altresult = client.scrapes.create( url_to_scrape="https://example.com", formats=["markdown"], max_age=86400)
Der Cache wird automatisch umgangen (was einen Live-Scrape erzwingt) für Funktionen, die einzigartige Sitzungen, Echtzeit-Visualisierungen oder benutzerdefinierte Dateiverarbeitung erfordern:
Interaktive Sitzungen: Anfragen, die session_id verwenden oder einen benutzerdefinierten Browser context laden.
Visuals: Visualisierungstools und Screenshots (htmlVisualizer).
Spezielle Dateitypen: Binäre Dateidownloads oder rohe PDF-Darstellung.
Debugging & Netzwerk: Erfassung von network_calls oder Verwendung asynchroner Parser-Jobs.
include_links / exclude_links: Glob-Muster, die mit dem Pfad jeder Link-URL abgeglichen werden.
query_to_order_links_by: sortiert die zurückgegebenen Links nach Relevanz zu diesem Text.
Glob-Muster passen auf Pfadsegmente. Ein einzelnes * überschreitet nicht/, daher passt "/blog/*" auf "/blog/post-1", aber nicht auf den Index "/blog" selbst — und es passt nie auf "/blog?tag=x", da Abfragezeichenfolgen nicht Teil des Pfads sind. Um auch den Index einzuschließen, verwende "/blog*" oder "{/blog,/blog/**}".
Olostep hat einige vorgefertigte Parser für beliebte Websites, aber du kannst auch deine eigenen Parser über das Dashboard erstellen oder unser Team bitten, dies für dich zu tun.Parser sind selbstheilend und aktualisieren sich selbst auf die neueste Version der Website.
Verwendung der LLM-Extraktion (Schema und/oder Prompt)
Stelle llm_extract mit einem JSON-Schema (schema) und/oder einer natürlichen Sprachinstruktion (prompt) bereit. Du kannst beide Parameter übergeben, aber wenn beide bereitgestellt werden, hat schema Vorrang.Wenn du stattdessen nur einen prompt übergibst, extrahiert das LLM die Daten basierend auf dem Prompt und entscheidet selbst über die Datenstruktur.
Hinweis: result.json_content gibt ein stringifiziertes JSON zurück. Parsen es in deinem Code, wenn du ein Objekt benötigst.Preisgestaltung:llm_extract kostet 10 Credits pro Scrape. Um die Kosten zu senken, kannst du deine eigenen API-Schlüssel verwenden oder nutzungsbasierte Preisgestaltung aktivieren. Kontaktiere info@olostep.com, um Zugang zu erhalten.
Mit der links_on_page-Option kannst du alle Links extrahieren, die auf der Seite vorhanden sind, die du scrapest. Es akzeptiert die folgenden Parameter, um die extrahierten Links zu filtern und zu ordnen:
absolute_links (boolean, Standard: true): Wenn true, werden vollständige URLs zurückgegeben (z.B. https://example.com/page) anstelle von relativen Pfaden (z.B. /page).
query_to_order_links_by (string): Ordnet die zurückgegebenen Links nach ihrer Ähnlichkeit mit dem bereitgestellten Abfragetext, wobei die relevantesten Übereinstimmungen zuerst priorisiert werden.
include_links (Array von Strings): Filtere extrahierte Links mit Glob-Mustern. Verwende Muster wie *.pdf, um Dateierweiterungen zu matchen, /blog/* für spezifische Pfade oder vollständige URLs wie https://example.com/*. Unterstützt Platzhalter (*), Zeichenklassen ([a-z]) und Alternation ({pattern1,pattern2}).
exclude_links (Array von Strings): Schließe spezifische Links mit Glob-Mustern aus, die der gleichen Syntax wie include_links folgen.
Die Domain wird nicht aufgelöst. Überprüfe die URL auf Tippfehler.
{ "error": { "type": "invalid_request_error", "code": "dns_resolution_failed", "message": "Die URL enthält einen Tippfehler oder die Domain existiert nicht." }}
Die Zielwebsite hat eine fehlerhafte oder inkompatible HTTPS-Konfiguration. error.detail liefert den spezifischen SSL-Fehlercode für Diagnosen; error.code ist immer tls_error.
{ "error": { "type": "invalid_request_error", "code": "tls_error", "detail": "err_ssl_tlsv1_alert_internal_error", "message": "Die Website hat den TLS-Handshake geschlossen oder abgelehnt. Der Server könnte falsch konfiguriert sein oder eine nicht unterstützte SSL/TLS-Version verwenden." }}
Der Scrape wurde nicht innerhalb des Wartebudgets abgeschlossen. Die Seite könnte langsam, bot-geschützt oder vorübergehend nicht verfügbar sein. Diese Antwort kann sicher erneut versucht werden.
{ "error": { "type": "request_timeout", "code": "scrape_poll_timeout", "message": "Anforderung abgelaufen, während auf das Scrape-Ergebnis gewartet wurde. Die Seite könnte langsam, für unsere Fetcher blockiert oder vorübergehend nicht verfügbar sein." }}
Scrape kostet standardmäßig 1 Credit. Wenn du auch parsers verwendest, variieren die Kosten je nach Parser (1-5 Credits). Wenn du LLM extract verwendest, kostet es 10 Credits.