Vai al contenuto principale
Attraverso l’endpoint /v1/crawls di Olostep puoi eseguire un crawl di un sito web e ottenere il contenuto di tutte le pagine.
  • Esegui un crawl di un sito web e ottieni il contenuto di tutte le sottopagine (o limita la profondità del crawl)
  • Usa pattern speciali per eseguire un crawl di pagine specifiche (es. /blog/**)
  • Passa un webhook_url per ricevere una notifica quando il crawl è completato
  • Query di ricerca per trovare solo pagine specifiche e ordinarle per rilevanza
Per i dettagli sull’API, vedi la Riferimento API dell’Endpoint Crawl.

Installazione

pip install olostep

Avvia un crawl

Fornisci l’URL di partenza, includi/escludi i glob URL e max_pages. Opzionale: 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)
Poiché tutto in Olostep è un oggetto, riceverai un oggetto crawl in risposta. L’oggetto crawl ha alcune proprietà come id e status, che puoi usare per tracciare il crawl.

Controlla lo stato del crawl

Interroga il crawl per monitorare i progressi fino a quando status è completed.
# Usando l'oggetto crawl dal passaggio precedente
info = crawl.info()
print(info.status, info.pages_count)

# Oppure aspetta fino al completamento
crawl.wait_till_done(check_every_n_secs=5)
In alternativa, puoi passare un webhook_url quando avvii il crawl per essere notificato quando il crawl è completato.

Elenca le pagine (paginazione/stream con cursore)

Recupera le pagine e itera usando cursor e limit. Funziona mentre il crawl è in_progress o completed.
# Itera tutte le pagine (attende automaticamente il completamento del crawl, gestisce la paginazione)
for page in crawl.pages():
    print(page.url, page.retrieve_id)

Query di ricerca (limita ai primi N rilevanti)

Usa search_query all’inizio e, opzionalmente, filtra l’elenco con search_query. Limita l’esplorazione per pagina con 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)

Recupera contenuto

Usa retrieve_id di ogni pagina con /v1/retrieve per ottenere html_content e/o markdown_content.
# Recupera il contenuto per ogni pagina esaminata
for page in crawl.pages():
    content = page.retrieve(["markdown"])
    print(content.markdown_content)

Note

  • La paginazione è basata su cursore; ripeti le richieste fino a quando il cursor è assente.
  • I campi di contenuto su /v1/crawls/{crawl_id}/pages sono deprecati; preferisci /v1/retrieve.
  • Webhooks: imposta webhook_url per ricevere un POST quando il crawl è completato.

Prezzi

Il crawl costa 1 credito per ogni pagina esaminata.