Zum Hauptinhalt springen
Über den Olostep /v1/crawls Endpunkt kannst du eine Website crawlen und den Inhalt aller Seiten abrufen.
  • Crawle eine Website und erhalte den Inhalt aller Unterseiten (oder begrenze die Tiefe des Crawls)
  • Verwende spezielle Muster, um bestimmte Seiten zu crawlen (z.B. /blog/**)
  • Übermittle eine webhook_url, um benachrichtigt zu werden, wenn der Crawl abgeschlossen ist
  • Suchanfrage, um nur bestimmte Seiten zu finden und nach Relevanz zu sortieren
Für API-Details siehe die Crawl Endpoint API Referenz.

Installation

pip install olostep

Starte einen Crawl

Gib die Start-URL an, schließe URL-Globs ein/aus und max_pages. Optional: max_depth, include_external, include_subdomain, search_query, top_n, webhook_url, timeout.
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

crawl = client.crawls.create(
    start_url="https://olostep.com",
    max_pages=100,
    include_urls=["/**"],
    exclude_urls=["/collections/**"],
    include_external=False,
)

print(crawl.id, crawl.status)
Da in Olostep alles ein Objekt ist, erhältst du als Antwort ein crawl Objekt. Das crawl Objekt hat einige Eigenschaften wie id und status, die du verwenden kannst, um den Crawl zu verfolgen.

Überprüfe den Crawl-Status

Poll den Crawl, um den Fortschritt zu verfolgen, bis status completed ist.
# Verwende das Crawl-Objekt aus dem vorherigen Schritt
info = crawl.info()
print(info.status, info.pages_count)

# Oder warte, bis es abgeschlossen ist
crawl.wait_till_done(check_every_n_secs=5)
Alternativ kannst du eine webhook_url übergeben, wenn du den Crawl startest, um benachrichtigt zu werden, wenn der Crawl abgeschlossen ist.

Seiten auflisten (paginieren/streamen mit Cursor)

Rufe Seiten ab und iteriere mit cursor und limit. Funktioniert, während der Crawl in_progress oder completed ist.
# Iteriere über alle Seiten (wartet automatisch auf Abschluss des Crawls, behandelt Paginierung)
for page in crawl.pages():
    print(page.url, page.retrieve_id)

Suchanfrage (auf die Top N relevant beschränken)

Verwende search_query beim Start und filtere optional die Liste mit search_query. Begrenze die Erkundung pro Seite mit top_n.
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

crawl = client.crawls.create(
    start_url="https://olostep.com",
    max_pages=100,
    include_urls=["/**"],
    search_query="contact us",
    top_n=5,
)

for page in crawl.pages(search_query="contact us"):
    print(page.url)

Inhalt abrufen

Verwende die retrieve_id jeder Seite mit /v1/retrieve, um html_content und/oder markdown_content abzurufen.
# Inhalt für jede gecrawlte Seite abrufen
for page in crawl.pages():
    content = page.retrieve(["markdown"])
    print(content.markdown_content)

Hinweise

  • Die Paginierung basiert auf einem Cursor; wiederhole Anfragen, bis cursor nicht mehr vorhanden ist.
  • Inhaltsfelder auf /v1/crawls/{crawl_id}/pages sind veraltet; bevorzuge /v1/retrieve.
  • Webhooks: Setze webhook_url, um eine POST-Benachrichtigung zu erhalten, wenn der Crawl abgeschlossen ist.

Preisgestaltung

Crawlen kostet 1 Credit pro gecrawlter Seite.