Naar hoofdinhoud gaan
Via de Olostep /v1/crawls endpoint kun je een website crawlen en de inhoud van alle pagina’s ophalen.
  • Crawlen van een website en de inhoud van alle subpagina’s ophalen (of de diepte van de crawl beperken)
  • Gebruik speciale patronen om specifieke pagina’s te crawlen (bijv. /blog/**)
  • Geef een webhook_url door om een melding te krijgen wanneer de crawl is voltooid
  • Zoekopdracht om alleen specifieke pagina’s te vinden en te sorteren op relevantie
Voor API-details zie de Crawl Endpoint API Referentie.

Installatie

pip install olostep

Start een crawl

Geef de start-URL, include/exclude URL-globs en max_pages. Optioneel: 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)
Aangezien alles in Olostep een object is, ontvang je een crawl object als antwoord. Het crawl object heeft enkele eigenschappen zoals id en status, die je kunt gebruiken om de crawl te volgen.

Controleer de crawlstatus

Poll de crawl om de voortgang te volgen totdat status completed is.
# Gebruikmakend van het crawl object van de vorige stap
info = crawl.info()
print(info.status, info.pages_count)

# Of wacht tot voltooid
crawl.wait_till_done(check_every_n_secs=5)
Als alternatief kun je een webhook_url doorgeven bij het starten van de crawl om een melding te krijgen wanneer de crawl is voltooid.

Lijst pagina’s (pagineren/streamen met cursor)

Haal pagina’s op en itereren met cursor en limit. Werkt terwijl de crawl in_progress of completed is.
# Itereer over alle pagina's (wacht automatisch op voltooiing van de crawl, behandelt paginering)
for page in crawl.pages():
    print(page.url, page.retrieve_id)

Zoekopdracht (beperk tot top N relevant)

Gebruik search_query bij de start, en filter optioneel de lijst met search_query. Beperk per-pagina verkenning met 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)

Inhoud ophalen

Gebruik de retrieve_id van elke pagina met /v1/retrieve om html_content en/of markdown_content op te halen.
# Haal inhoud op voor elke gecrawlde pagina
for page in crawl.pages():
    content = page.retrieve(["markdown"])
    print(content.markdown_content)

Notities

  • Paginering is cursor-gebaseerd; herhaal verzoeken totdat cursor afwezig is.
  • Inhoudsvelden op /v1/crawls/{crawl_id}/pages zijn verouderd; gebruik liever /v1/retrieve.
  • Webhooks: stel webhook_url in om een POST te ontvangen wanneer de crawl voltooid is.

Prijzen

Crawlen kost 1 credit per gecrawlde pagina.