Skip to main content
POST https://api.acedata.cloud/webextrator/render L’API di rendering delle pagine web WebExtrator è un servizio di rendering basato su Chromium senza testa. Fornisci un URL, restituisce l’HTML completamente renderizzato (inclusi i contenuti iniettati da JS), testo semplice, titolo della pagina e URL finale. Render è l’interfaccia di base di WebExtrator. Se hai bisogno di risultati di estrazione strutturati (testo dell’articolo, prezzi dei prodotti, ingredienti delle ricette …), utilizza /webextrator/extract —— che esegue un’intera pipeline di estrazione tipizzata sulla stessa base di rendering.

Processo di richiesta

Per utilizzare la pagina del servizio WebExtrator, prima vai al Pannello di controllo di Ace Data Cloud per ottenere il tuo API Token, da conservare per uso futuro. Se non hai ancora effettuato il login o registrato, verrai automaticamente reindirizzato alla pagina di login che ti invita a registrarti e accedere, una volta completato verrai automaticamente riportato alla pagina corrente. Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, non è necessario richiederne uno separato per ogni servizio. La prima richiesta riceverà un credito gratuito, per un’esperienza gratuita; quando il credito è insufficiente, puoi ricaricare il saldo generale nel pannello di controllo.
📘 Documentazione completa: Pagina del servizio WebExtrator →

Autenticazione

Tutte le interfacce WebExtrator utilizzano l’autenticazione standard Bearer Token:

Parametri di richiesta

Il contratto della piattaforma utilizza uniformemente snake_case. I servizi di rendering interni supportano camelCase, ma le chiamate esterne utilizzano sempre snake_case.

Risposta sincrona

Risposta asincrona

Quando async=true (o fornisci callback_url) restituisce immediatamente (HTTP 200):
I risultati verranno inviati tramite POST a callback_url (se configurato), oppure tramite /webextrator/tasks per interrogare attivamente.

Struttura del callback

La piattaforma POST invia un envelope identico a quello della modalità sincrona a callback_url, Content-Type: application/json. Restituire qualsiasi 2xx è considerato confermato; 5xx verrà riprovato con backoff esponenziale per circa 5 minuti.

Risposta di errore

Struttura dell’errore:

Esempio

cURL

Python (requests)

Node.js (fetch)

Asincrono + Callback

Restituisce immediatamente { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 }; Quando il compito è completato, la piattaforma invierà un POST con il risultato completo al tuo callback_url.

Forzare il bypass della cache

Suggerimenti e problemi

  • È importante scegliere correttamente wait_until. networkidle è il più stabile ma il più lento; domcontentloaded è veloce ma potrebbe perdere contenuti iniettati in modo asincrono; load è adatto per pagine statiche tradizionali.
  • La chiave della cache ignora async. Le richieste sincrone e asincrone per lo stesso URL colpiscono la stessa voce di cache, passare liberamente non causerà errori.
  • La chiave della cache ignora bypass_cache e cache_ttl_seconds. Questi due sono interruttori operativi, non influenzano il contenuto della risposta.
  • I cookies e gli headers verranno memorizzati in cache separatamente. Personalizzare questi due farà sì che la prima combinazione identica fallisca.
  • Le SPA pesanti superano spesso i 30 secondi predefiniti. Si consiglia timeout: 60, wait_until: "domcontentloaded", delay: 4, insieme a wait_for_selector per attendere gli elementi di reale interesse.
  • block_resources è il modo più veloce per ridurre la latenza. Per impostazione predefinita, sono già bloccati immagini / font / media; se l’estrazione non dipende dal layout CSS, aggiungere stylesheet può rendere tutto ancora più veloce.