Vai al contenuto principale
Attraverso l’endpoint /v1/scrapes di Olostep puoi estrarre Markdown, HTML, testo, screenshot o JSON strutturato da qualsiasi URL in tempo reale.
  • Produce markdown pulito, dati strutturati, screenshot o html
  • Estrai JSON tramite Parsers o estrazione LLM
  • Gestisce contenuti dinamici: siti renderizzati con js, flussi di login tramite azioni, PDF
Per i dettagli sull’API, consulta la Riferimento API dell’Endpoint Scrape.

Scraping di un URL

Usa l’endpoint /v1/scrapes per fare scraping di un singolo URL e scegliere i formati di output.

Installazione

pip install olostep

Utilizzo

Puoi usare l’endpoint per fare scraping di un singolo URL e scegliere i formati di output. I parametri obbligatori sono url_to_scrape e formats. Altri parametri comuni sono wait_before_scraping (in millisecondi), remove_css_selectors (default, nessuno, o un array di selettori), e country.
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://en.wikipedia.org/wiki/Alexander_the_Great",
    formats=["markdown", "html"],
)

print(result.markdown_content)
print(result.html_content)

Risposta

L’API restituisce un oggetto scrape in risposta. Lo scrape ha alcune proprietà come id e result. L’oggetto result ha i seguenti campi (secondo il parametro formats alcuni potrebbero essere nulli):
  • html_content: il contenuto HTML della pagina. Passa formats: ["html"] per ottenere questo.
  • markdown_content: il contenuto MD della pagina. Passa formats: ["markdown"] per ottenere questo.
  • text_content: il contenuto testuale della pagina. Passa formats: ["text"] per ottenere questo.
  • json_content: il contenuto JSON della pagina. Passa formats: ["json"] per ottenere questo e fornisci anche un parametro parser o llm_extract.
  • screenshot_hosted_url: l’URL ospitato dello screenshot.
  • html_hosted_url: l’URL ospitato del contenuto HTML
  • markdown_hosted_url: l’URL ospitato del contenuto Markdown
  • json_hosted_url: l’URL ospitato del contenuto JSON
  • text_hosted_url: l’URL ospitato del contenuto testuale
  • links_on_page: i link sulla pagina
  • page_metadata: i metadati della pagina
{
  "id": "scrape_6h89o8u1kt",
  "object": "scrape",
  "created": 1745673871,
  "metadata": {},
  "retrieve_id": "6h89o8u1kt",
  "url_to_scrape": "https://en.wikipedia.org/wiki/Alexander_the_Great",
  "result": {
    "html_content": "<html...",
    "markdown_content": "## Alexander the Great...",
    "text_content": null,
    "json_content": null,
    "screenshot_hosted_url": null,
    "html_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/text_6h89o8u1kt.txt",
    "markdown_hosted_url": "https://olostep-storage.s3.us-east-1.amazonaws.com/markDown_6h89o8u1kt.txt",
    "json_hosted_url": null,
    "text_hosted_url": null,
    "links_on_page": [],
    "page_metadata": { "status_code": 200, "title": "" }
  }
}

Formati di Scrape

Scegli uno o più formati di output tramite formats:
  • markdown: markdown compatibile con LLM
  • html: HTML pulito
  • text: testo semplice
  • json: output strutturato (tramite parser o llm_extract)
  • raw_pdf: byte PDF grezzi estratti a un URL ospitato
  • screenshot: impostato tramite azioni per catturare uno screenshot e restituire un URL ospitato
Le chiavi di output vengono restituite all’interno di result come campi *_content e anche come *_hosted_url.

Estrazione di dati strutturati

Puoi estrarre JSON strutturato in due modi: usando Parsers o estrazione LLM.

Usare un Parser (consigliato per la scalabilità)

Definisci formats: ["json"] e fornisci un id del parser.
from olostep import Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://www.google.com/search?q=alexander+the+great&gl=us&hl=en",
    formats=["json"],
    parser="@olostep/google-search",
)

print(result.json_content)
Olostep ha alcuni parser pre-costruiti per siti web popolari ma puoi anche creare i tuoi parser tramite la dashboard o chiedere al nostro team di farlo per te. I parser sono auto-riparanti e si aggiorneranno automaticamente all’ultima versione del sito web.

Usare l’estrazione LLM (schema e/o prompt)

Fornisci llm_extract con uno Schema JSON (schema) e/o un’istruzione in linguaggio naturale (prompt). Puoi passare entrambi i parametri, ma se entrambi sono forniti, schema ha la precedenza. Invece, se passi solo un prompt, l’LLM estrarrà i dati basandosi sul prompt e deciderà autonomamente la struttura dei dati.
from olostep import LLMExtract, Olostep

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://www.berklee.edu/events/stefano-marchese-friends",
    formats=["markdown", "json"],
    llm_extract=LLMExtract(
        schema={
            "event": {
                "type": "object",
                "properties": {
                    "title": {"type": "string"},
                    "date": {"type": "string"},
                    "description": {"type": "string"},
                    "venue": {"type": "string"},
                    "address": {"type": "string"},
                    "start_time": {"type": "string"},
                },
            }
        }
    ),
)

print(result.json_content)
Nota: result.json_content restituisce un JSON sotto forma di stringa. Analizzalo nel tuo codice se hai bisogno di un oggetto.

Interagire con la pagina tramite Azioni

Esegui azioni prima dello scraping per interagire con siti dinamici. Azioni supportate:
  • wait con milliseconds
  • click con selector
  • fill_input con selector e value
  • scroll con direction e amount
È spesso utile usare wait prima/dopo altre azioni per permettere il caricamento della pagina.

Esempio

from olostep import FillInputAction, Olostep, WaitAction

client = Olostep(api_key="YOUR_REAL_KEY")

result = client.scrapes.create(
    url_to_scrape="https://example.com/login",
    formats=["markdown"],
    actions=[
        FillInputAction(selector="input[type=email]", value="john@example.com"),
        WaitAction(milliseconds=500),
        FillInputAction(selector="input[type=password]", value="secret"),
        {"type": "click", "selector": "button[type=\"submit\"]"},
        WaitAction(milliseconds=1500),
    ],
)

print(result.markdown_content)
La risposta includerà qualsiasi formato richiesto (ad esempio, markdown_content).

Casi d’Uso

Di seguito sono riportate alcune applicazioni pratiche di clienti che utilizzano l’endpoint /scrapes.

Analisi dei Contenuti & Ricerca

  • Analisi Competitiva: Estrai dettagli sui prodotti, prezzi e caratteristiche dai siti dei concorrenti
  • Ricerche di Mercato: Analizza landing page, descrizioni dei prodotti e testimonianze dei clienti
  • Ricerca Accademica: Raccogli dati specifici da pubblicazioni scientifiche o portali di ricerca
  • Documentazione Legale: Estrai case studies, regolamenti o precedenti legali da siti ufficiali

E-commerce & Retail

  • Strategie di Prezzi Dinamici: Ottieni prezzi dei prodotti in tempo reale dai negozi concorrenti
  • Gestione delle Informazioni sui Prodotti: Estrai specifiche dettagliate e descrizioni
  • Monitoraggio Stock/Inventario: Controlla la disponibilità dei prodotti presso altri rivenditori
  • Analisi delle Recensioni: Raccogli feedback dei consumatori e sentiment per prodotti specifici

Marketing & Creazione di Contenuti

  • Curazione di Contenuti: Estrai articoli e post di blog rilevanti per newsletter
  • Analisi SEO: Esamina l’uso delle parole chiave dei concorrenti, le meta descrizioni e la struttura delle pagine
  • Generazione di Lead: Estrai informazioni di contatto da directory aziendali o pagine aziendali
  • Ricerca di Influencer: Raccogli metriche di coinvolgimento e stili di contenuto dai profili degli influencer
  • Generazione Personalizzata di Social Media: Crea marketing sui social media AI-powered analizzando i siti web dei clienti

Applicazioni di Dati

  • Raccolta Dati per l’Addestramento AI: Raccogli esempi specifici per modelli di machine learning
  • Costruzione di Basi di Conoscenza Personalizzate: Estrai documentazione o istruzioni da siti software
  • Archivi di Dati Storici: Conserva il contenuto del sito web in momenti specifici
  • Estrazione di Dati Strutturati: Trasforma il contenuto web in dataset formattati per l’analisi

Monitoraggio & Avvisi

  • Monitoraggio della Conformità Regolamentare: Tieni traccia delle modifiche ai siti web legali o regolamentari
  • Gestione delle Crisi: Monitora i siti di notizie per menzioni di eventi o organizzazioni specifiche
  • Tracciamento degli Eventi: Estrai dettagli su eventi imminenti da siti di venue o organizzatori
  • Monitoraggio dello Stato dei Servizi: Controlla le pagine di stato dei servizi per piattaforme o strumenti specifici

Pubblicazione & Media

  • Aggregazione di Notizie: Estrai notizie di ultima ora da fonti ufficiali
  • Monitoraggio dei Media: Tieni traccia di argomenti specifici su siti di notizie
  • Verifica dei Contenuti: Estrai informazioni per verificare affermazioni o dichiarazioni
  • Estrazione Multimediale: Raccogli video, immagini o audio incorporati per librerie multimediali

Applicazioni Finanziarie

  • Ricerca sugli Investimenti: Estrai bilanci o rapporti annuali dai siti web aziendali
  • Indicatori Economici: Raccogli dati economici da siti web governativi o istituzioni finanziarie
  • Dati sulle Criptovalute: Estrai informazioni sui prezzi in tempo reale e sulla capitalizzazione di mercato
  • Analisi delle Notizie Finanziarie: Monitora i siti di notizie finanziarie per segnali di mercato specifici

Applicazioni Tecniche

  • Estrazione della Documentazione API: Raccogli documentazione tecnica per riferimento
  • Test di Integrazione: Estrai elementi del sito web per verificare integrazioni di terze parti
  • Test di Accessibilità: Analizza la struttura del sito web per la conformità agli standard di accessibilità
  • Creazione di Archivi Web: Cattura il contenuto completo del sito web per la conservazione storica

Scenari di Integrazione

  • Sistemi CRM: Arricchisci i profili dei clienti con dati dai siti web aziendali o Linkedin
  • Sistemi di Gestione dei Contenuti: Importa contenuti esterni rilevanti
  • Strumenti di Business Intelligence: Integra dati interni con informazioni di mercato esterne
  • Software di Gestione Progetti: Estrai specifiche o requisiti dai siti web dei clienti
  • Dashboard Personalizzati: Visualizza i dati estratti insieme a metriche interne

Prezzi

Scrape costa 1 credito di default. Se passi anche parsers, i costi variano per parser (1-5 crediti). Se usi LLM extract, costa 20 crediti.