Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.olostep.com/llms.txt

Use this file to discover all available pages before exploring further.

Grâce à l’endpoint Olostep /v1/crawls, tu peux crawler un site web et obtenir le contenu de toutes les pages.
  • Crawler un site web et obtenir le contenu de toutes les sous-pages (ou limiter la profondeur du crawl)
  • Utiliser des motifs spéciaux pour crawler des pages spécifiques (par exemple, /blog/**)
  • Passer une webhook_url pour être notifié lorsque le crawl est terminé
  • Requête de recherche pour ne trouver que des pages spécifiques et trier par pertinence
Pour les détails de l’API, voir la Référence de l’API de l’Endpoint Crawl.

Installation

pip install olostep

Démarrer un crawl

Fournis l’URL de départ, inclure/exclure des motifs d’URL, et max_pages. Optionnel : 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)
Puisque tout dans Olostep est un objet, tu recevras un objet crawl en réponse. L’objet crawl a quelques propriétés comme id et status, que tu peux utiliser pour suivre le crawl.

Vérifier le statut du crawl

Interroge le crawl pour suivre la progression jusqu’à ce que status soit completed.
# En utilisant l'objet crawl de l'étape précédente
info = crawl.info()
print(info.status, info.pages_count)

# Ou attendre jusqu'à ce que ce soit terminé
crawl.wait_till_done(check_every_n_secs=5)
Alternativement, tu peux passer une webhook_url lors du démarrage du crawl pour être notifié lorsque le crawl est terminé.

Lister les pages (pagination/flux avec curseur)

Récupère les pages et itère en utilisant cursor et limit. Fonctionne pendant que le crawl est in_progress ou completed.
# Itérer sur toutes les pages (attend automatiquement la fin du crawl, gère la pagination)
for page in crawl.pages():
    print(page.url, page.retrieve_id)

Requête de recherche (limiter aux N plus pertinents)

Utilise search_query au départ, et filtre éventuellement la liste avec search_query. Limite l’exploration par page avec 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)

Récupérer le contenu

Utilise le retrieve_id de chaque page avec /v1/retrieve pour récupérer html_content et/ou markdown_content.
# Récupérer le contenu pour chaque page crawlée
for page in crawl.pages():
    content = page.retrieve(["markdown"])
    print(content.markdown_content)

Remarques

  • La pagination est basée sur un curseur ; répète les requêtes jusqu’à ce que le cursor soit absent.
  • Les champs de contenu sur /v1/crawls/{crawl_id}/pages sont obsolètes ; préfère /v1/retrieve.
  • Webhooks : définis webhook_url pour recevoir un POST lorsque le crawl est terminé.

Tarification

Le crawl coûte 1 crédit par page crawlée.