/v1/scrapes di Olostep puoi estrarre Markdown, HTML, testo, screenshot o JSON strutturato da qualsiasi URL in tempo reale.
- Fornisce markdown pulito, dati strutturati, screenshot o html
- Estrai JSON tramite Parser o estrazione LLM
- Gestisce contenuti dinamici: siti renderizzati con js, flussi di login tramite azioni, PDF
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 (di default, nessuno, o un array di selettori), e country.
Risposta
L’API restituisce un oggettoscrape 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. Passaformats: ["html"]per ottenere questo.markdown_content: il contenuto MD della pagina. Passaformats: ["markdown"]per ottenere questo.text_content: il contenuto testuale 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 testualelinks_on_page: i link sulla paginapage_metadata: i metadati della pagina
Caching
Per ottimizzare la velocità, Olostep fornisce un livello di caching condiviso opzionale per risultati HTML, Markdown, testo e JSON analizzati.Come funziona
Quando viene richiesto uno scraping, Olostep verifica se esiste già uno scraping corrispondente con gli stessi parametri. Se viene trovato un match sufficientemente recente, il contenuto viene servito istantaneamente dallo storage di Olostep senza avviare un nuovo scraping del browser.- 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, beneficerai dell’accelerazione.
- Il post-processing è ancora 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 scraping 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 scraping 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 scraping 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 grezzo.
- Debugging & Rete: Cattura di
network_callso utilizzo di lavori parser asincroni.
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: modelli glob abbinati al percorso dell’URL di ciascun link.query_to_order_links_by: riordina i link restituiti per rilevanza rispetto a questo testo.
I modelli glob corrispondono ai 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 Scraping
Scegli uno o più formati di output tramiteformats:
markdown: markdown compatibile con 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 un *_hosted_url.
Estrai dati strutturati
Puoi estrarre JSON strutturato in due modi: utilizzando Parser 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 basandosi sul prompt e deciderà autonomamente la struttura dei dati.
result.json_content restituisce un JSON come stringa. Analizzalo nel tuo codice se hai bisogno di un oggetto.
Prezzi: llm_extract costa 10 crediti per scraping. Per ridurre i costi, puoi portare le tue chiavi API o abilitare la tariffazione basata sull’uso. Contatta info@olostep.com per ottenere l’accesso.
Estrai i 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(boolean, default:true): Quando è vero, restituisce URL completi (es.https://example.com/page) invece di percorsi relativi (es./page).query_to_order_links_by(string): Ordina i link restituiti in base alla loro somiglianza con il testo della query fornita, dando priorità alle corrispondenze più rilevanti.include_links(array di stringhe): Filtra i link estratti utilizzando modelli glob. Usa modelli 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 modelli glob, seguendo la stessa sintassi diinclude_links.
Interagire con la pagina con Azioni
Esegui azioni prima dello scraping per interagire con siti dinamici. Azioni supportate:waitconmillisecondsclickconselectorfill_inputconselectorevaluescrollcondirectioneamount
wait prima/dopo altre azioni per consentire 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: Estrarre dettagli sui prodotti, prezzi e caratteristiche dai siti web dei concorrenti
- Ricerca di Mercato: Analizzare landing page, descrizioni dei prodotti e testimonianze dei clienti
- Ricerca Accademica: Raccogliere dati specifici da pubblicazioni scientifiche o portali di ricerca
- Documentazione Legale: Estrarre studi di casi, regolamenti o precedenti legali da siti ufficiali
E-commerce & Retail
- Strategie di Prezzi Dinamici: Ottenere prezzi dei prodotti in tempo reale dai negozi concorrenti
- Gestione delle Informazioni sui Prodotti: Estrarre specifiche dettagliate e descrizioni
- Monitoraggio Stock/Inventario: Controllare la disponibilità dei prodotti presso altri rivenditori
- Analisi delle Recensioni: Raccogliere feedback dei consumatori e sentiment per prodotti specifici
Marketing & Creazione di Contenuti
- Curazione di Contenuti: Estrarre articoli e post di blog rilevanti per newsletter
- Analisi SEO: Esaminare l’uso delle parole chiave dei concorrenti, le descrizioni meta e la struttura delle pagine
- Generazione di Lead: Estrarre informazioni di contatto da directory aziendali o pagine aziendali
- Ricerca di Influencer: Raccogliere metriche di coinvolgimento e stili di contenuto dai profili degli influencer
- Generazione Personalizzata di Social Media: Creare marketing sui social media alimentato dall’AI analizzando i siti web dei clienti
Applicazioni di Dati
- Raccolta di Dati di Addestramento AI: Raccogliere esempi specifici per modelli di machine learning
- Costruzione di Basi di Conoscenza Personalizzate: Estrarre documentazione o istruzioni da siti di software
- Archivi di Dati Storici: Conservare il contenuto del sito web in momenti specifici nel tempo
- Estrazione di Dati Strutturati: Trasformare il contenuto web in dataset formattati per l’analisi
Monitoraggio & Avvisi
- Monitoraggio della Conformità Normativa: Tracciare i cambiamenti su siti web legali o normativi
- Gestione delle Crisi: Monitorare i siti di notizie per menzioni di eventi o organizzazioni specifiche
- Tracciamento degli Eventi: Estrarre dettagli su eventi imminenti da siti di locali o organizzatori
- Monitoraggio dello Stato del Servizio: Controllare le pagine di stato del servizio per piattaforme o strumenti specifici
Pubblicazione & Media
- Aggregazione di Notizie: Estrarre notizie di ultima ora da fonti ufficiali
- Monitoraggio dei Media: Tracciare argomenti specifici su siti di notizie
- Verifica dei Contenuti: Estrarre informazioni per verificare affermazioni o dichiarazioni
- Estrazione Multimediale: Raccogliere video, immagini o audio incorporati per librerie multimediali
Applicazioni Finanziarie
- Ricerca di Investimenti: Estrarre bilanci o rapporti annuali dai siti web delle aziende
- Indicatori Economici: Raccogliere dati economici da siti web governativi o di istituzioni finanziarie
- Dati su Criptovalute: Estrarre informazioni sui prezzi in tempo reale e sulla capitalizzazione di mercato
- Analisi delle Notizie Finanziarie: Monitorare i siti di notizie finanziarie per segnali di mercato specifici
Applicazioni Tecniche
- Estrazione della Documentazione API: Raccogliere documentazione tecnica per riferimento
- Test di Integrazione: Estrarre elementi del sito web per verificare le integrazioni di terze parti
- Test di Accessibilità: Analizzare la struttura del sito web per la conformità agli standard di accessibilità
- Creazione di Archivi Web: Catturare il contenuto completo del sito web per la conservazione storica
Scenari di Integrazione
- Sistemi CRM: Arricchire i profili dei clienti con dati da siti web aziendali o Linkedin
- Sistemi di Gestione dei Contenuti: Importare contenuti esterni rilevanti
- Strumenti di Business Intelligence: Integrare dati interni con informazioni di mercato esterne
- Software di Gestione Progetti: Estrarre specifiche o requisiti dai siti web dei clienti
- Dashboard Personalizzati: Visualizzare 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 si 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.