Vai al contenuto principale
POST https://api.acedata.cloud/webextrator/render L’API di rendering web WebExtrator è un servizio di rendering web basato su Chromium headless. 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 più basilare di WebExtrator. Se ti servono risultati di estrazione strutturati (corpo dell’articolo, prezzo del prodotto, ingredienti della ricetta …), usa /webextrator/extract —— esegue un’intera pipeline di estrazione tipizzata sulla stessa base di rendering.

Procedura di richiesta

Per utilizzare la pagina del servizio WebExtrator, vai prima alla console Ace Data Cloud per ottenere il tuo API Token, da conservare come backup. Se non hai ancora effettuato l’accesso o non ti sei registrato, verrai automaticamente reindirizzato alla pagina di accesso per invitarti a registrarti e ad accedere; al termine, tornerai automaticamente alla pagina corrente. Un solo API Token può chiamare tutti i servizi della piattaforma, senza bisogno di richiederne uno separatamente per ogni servizio. La prima richiesta include crediti gratuiti, per provare gratuitamente; quando i crediti sono insufficienti, puoi ricaricare il saldo comune nella console.
📘 Documentazione completa: Pagina del servizio WebExtrator →

Autenticazione

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

Parametri della richiesta

Il contratto della piattaforma utilizza uniformemente snake_case. Il servizio di rendering interno supporta camelCase, ma le chiamate esterne utilizzano sempre snake_case.

Risposta sincrona

Risposta asincrona

Quando async=true (o viene fornito callback_url) restituisce immediatamente (HTTP 200):
Il risultato verrà inviato tramite POST a callback_url (se configurato), oppure potrà essere interrogato attivamente tramite /webextrator/tasks.

Struttura del callback

La piattaforma invia tramite POST lo stesso envelope identico alla modalità sincrona a callback_url, con Content-Type: application/json. La restituzione di qualsiasi 2xx viene considerata una conferma; i 5xx verranno ritentati con backoff esponenziale per circa 5 minuti.

Risposta di errore

Struttura dell’errore:

Esempi

cURL

Python (requests)

Node.js (fetch)

Asincrono + callback

Restituisce immediatamente { "success": true, "task_id": "...", "trace_id": "...", "started_at": 1777717800.123 }; quando l’attività è completata, la piattaforma invia tramite POST il risultato completo al tuo callback_url.

Forzare il bypass della cache

Suggerimenti e insidie

  • È importante scegliere correttamente wait_until. networkidle è il più stabile ma il più lento; domcontentloaded è veloce ma potrebbe tralasciare contenuti iniettati in modo asincrono; load è adatto alle pagine statiche tradizionali.
  • La chiave della cache ignora async. Le richieste sincrone e asincrone per lo stesso URL colpiscono la stessa voce della cache, quindi passare arbitrariamente dall’una all’altra non la invalida.
  • La chiave della cache ignora bypass_cache e cache_ttl_seconds. Questi due sono interruttori operativi, non influiscono sul contenuto della risposta.
  • cookies e headers suddividono la cache in bucket. Personalizzare questi due fa sì che il primo hit della stessa combinazione 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 percorso più rapido per ridurre la latenza. Per impostazione predefinita immagini / font / media sono già bloccati; se la tua estrazione non dipende dal layout CSS, aggiungere stylesheet può renderla ancora più veloce.