/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 in js, flussi di login tramite azioni, PDF
- Controlla per quanto tempo i risultati vengono conservati con il parametro
storage
Scraping di un URL
Usa l’endpoint/v1/scrapes per eseguire lo scraping di un singolo URL e scegliere i formati di output.
Installazione
Utilizzo
Puoi usare l’endpoint per eseguire lo scraping di un singolo URL e scegliere i formati di output. I parametri obbligatori sonourl_to_scrape e formats.
Altri parametri comuni sono wait_before_scraping (in millisecondi), remove_css_selectors (default, none, o un array di selettori), e country.
Risposta
L’API restituisce un oggettoscrape in risposta.
Il 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. Passaformats: ["html"]per ottenere questo.markdown_content: il contenuto MD della pagina. Passaformats: ["markdown"]per ottenere questo.text_content: il contenuto di testo della pagina. Passaformats: ["text"]per ottenere questo.json_content: il contenuto JSON della pagina. Passaformats: ["json"]per ottenere questo e fornisci anche un parametroparserollm_extract.screenshot_hosted_url: l’URL ospitato dello screenshot.html_hosted_url: l’URL ospitato del contenuto HTMLmarkdown_hosted_url: l’URL ospitato del contenuto Markdownjson_hosted_url: l’URL ospitato del contenuto JSONtext_hosted_url: l’URL ospitato del contenuto di testolinks_on_page: i link sulla paginapage_metadata: i metadati della pagina
Caching
Per ottimizzare la velocità, Olostep fornisce uno strato di caching condiviso opzionale per risultati HTML, Markdown, testo e JSON analizzati.Come funziona
Quando viene richiesto uno scrape, Olostep verifica se esiste già uno scrape corrispondente con gli stessi parametri. Se viene trovato un match abbastanza recente, il contenuto viene servito istantaneamente dallo storage di Olostep senza avviare un nuovo browser scrape.- Cache Condivisa: La cache è condivisa a livello globale. Se un’altra richiesta ha eseguito lo scraping dello stesso URL con la stessa configurazione entro la tua finestra di freschezza, benefici della velocità.
- Elaborazione post-live: Operazioni come
llm_extracte filtrilinks_on_pagevengono eseguite al volo sul documento memorizzato nella cache. Memorizzi solo il recupero della pagina principale, mantenendo le tue estrazioni strutturate dinamiche.
Freschezza e max_age
Per impostazione predefinita, l’API di produzione esegue sempre uno scrape live per garantire l’accuratezza in tempo reale. Puoi optare per il caching utilizzando il parametro max_age.
- Comportamento API Predefinito (
max_age: 0): Ogni richiesta API attiva uno scrape fresco. - Comportamento Playground Predefinito: Nel dashboard playground,
max_agepredefinito è di 24 ore (86400secondi). - Età Massima: La cache ha un limite massimo di 7 giorni (
604800secondi). Qualsiasimax_agerichiesto sopra questo limite ricadrà su un massimo di 7 giorni.
Esempi di utilizzo
Quando viene saltata la cache?
La cache viene automaticamente bypassata (forzando uno scrape live) quando la tua richiesta necessita di:- Sessioni interattive: Richieste che utilizzano
session_ido caricano uncontextdel browser personalizzato. - Screenshot: Qualsiasi richiesta che include
screenshotnei formati o imposta l’opzione screenshot bypassa la cache. - Tipi di file speciali: Download di file binari o rendering PDF grezzi.
- Debugging & Network: Cattura di
network_callso utilizzo di lavori di parser asincroni.
Storage
I risultati dello scrape vengono conservati per circa 7 giorni di default. Passa un oggettostorage per mantenere un risultato più a lungo — o indefinitamente — in modo da poterlo recuperare di nuovo in seguito. Il risultato, i suoi URL ospitati e GET /v1/scrapes/{scrape_id} rimangono disponibili per quella finestra.
max_age controlla se una nuova richiesta può riutilizzare una pagina memorizzata nella cache. storage.expires_in controlla per quanto tempo il risultato di questo scrape rimane disponibile. Vedi Caching per max_age.
storage è disponibile su tutti i piani per POST /v1/scrapes.
Utilizzo
Estrazione dei link
Passa un oggettolinks_on_page nella richiesta per raccogliere i link trovati sulla pagina. Tutti i link vengono restituiti come URL assoluti.
include_links/exclude_links: pattern glob abbinati contro il percorso URL di ciascun link.query_to_order_links_by: riordina i link restituiti in base alla rilevanza rispetto a questo testo.
I pattern glob abbinano i segmenti di percorso. Un singolo
* non attraversa /, quindi "/blog/*" corrisponde a "/blog/post-1" ma non all’indice "/blog" stesso — e non corrisponde mai a "/blog?tag=x" perché le stringhe di query non fanno parte del percorso. Per includere anche l’indice, usa "/blog*" o "{/blog,/blog/**}".Formati di Scrape
Scegli uno o più formati di output tramiteformats:
markdown: markdown adatto a LLMhtml: HTML pulitotext: testo semplicejson: output strutturato (tramite parser o llm_extract)raw_pdf: byte PDF grezzi estratti a URL ospitatoscreenshot: impostato tramite azioni per catturare uno screenshot e restituire un URL ospitato
result come campi *_content e anche come *_hosted_url.
Estrazione di dati strutturati
Puoi estrarre JSON strutturato in due modi: utilizzando Parsers o estrazione LLM.Utilizzando un Parser (consigliato per la scalabilità)
Definisciformats: ["json"] e fornisci un id del parser.
Utilizzando l’estrazione LLM (schema e/o prompt)
Forniscillm_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.
In alternativa, se passi solo un prompt, l’LLM estrarrà i dati in base al prompt e deciderà autonomamente la struttura dei dati.
result.json_content è già un dizionario. Nel SDK Node e nell’API grezza è una stringa JSON, quindi analizzala (JSON.parse / json.loads) se hai bisogno di un oggetto.
Prezzi: llm_extract costa 10 crediti per scrape. Per ridurre il costo, puoi portare le tue chiavi API o abilitare la tariffazione basata sull’uso. Contatta info@olostep.com per ottenere l’accesso.
Estrazione dei link sulla pagina
Con l’opzionelinks_on_page, puoi estrarre tutti i link presenti sulla pagina che esegui lo scraping. Accetta i seguenti parametri per aiutare a filtrare e ordinare i link estratti:
absolute_links(booleano, default:true): Quando è vero, restituisce URL completi (es.https://example.com/page) invece di percorsi relativi (es./page).query_to_order_links_by(stringa): Ordina i link restituiti in base alla loro somiglianza con il testo della query fornita, dando priorità ai match più rilevanti.include_links(array di stringhe): Filtra i link estratti utilizzando pattern glob. Usa pattern come*.pdfper abbinare estensioni di file,/blog/*per percorsi specifici, o URL completi comehttps://example.com/*. Supporta caratteri jolly (*), classi di caratteri ([a-z]), e alternanza ({pattern1,pattern2}).exclude_links(array di stringhe): Escludi link specifici utilizzando pattern glob, seguendo la stessa sintassi diinclude_links.
Interazione con la pagina tramite Azioni
Esegui azioni prima dello scraping per interagire con siti dinamici. Azioni supportate:waitconmillisecondsclickconselectorfill_inputconselectorevaluescrollcondirectioneamount
wait prima/dopo altre azioni per permettere il caricamento della pagina.
Esempio
markdown_content).
Casi d’Uso
Di seguito sono riportate alcune applicazioni pratiche dei clienti che utilizzano l’endpoint/scrapes.
Analisi dei Contenuti & Ricerca
- Analisi Competitiva: Estrai dettagli sui prodotti, prezzi e caratteristiche dai siti web dei concorrenti
- Ricerca 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 studi di casi, 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 dei Contenuti: Estrai articoli e post di blog rilevanti per newsletter
- Analisi SEO: Esamina l’uso delle parole chiave dei concorrenti, meta descrizioni e 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 alimentato da AI 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 nel tempo
- Estrazione di Dati Strutturati: Trasforma il contenuto web in dataset formattati per l’analisi
Monitoraggio & Avvisi
- Monitoraggio della Conformità Regolamentare: Traccia le modifiche ai siti web legali o regolatori
- 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 luoghi o organizzatori
- Monitoraggio dello Stato del Servizio: Controlla le pagine di stato del servizio per piattaforme o strumenti specifici
Pubblicazione & Media
- Aggregazione di Notizie: Estrai notizie dell’ultima ora da fonti ufficiali
- Monitoraggio dei Media: Traccia argomenti specifici sui 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 di 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: Migliora 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 dei Progetti: Estrai specifiche o requisiti dai siti web dei clienti
- Dashboard Personalizzati: Visualizza i dati estratti insieme a metriche interne
Gestione degli Errori
Tutti gli errori seguono una forma di busta condivisa. Controllaerror.type e error.code per ramificare programmaticamente:
Errore DNS (400)
Il dominio non risolve. Controlla l’URL per errori di battitura.Errore TLS/SSL (502)
Il sito web di destinazione ha una configurazione HTTPS rotta o incompatibile.error.detail fornisce il codice di errore SSL specifico per la diagnostica; error.code è sempre tls_error.