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.
Struttura dei Cookie
Risposta sincrona
Risposta asincrona
Quandoasync=true (o fornisci callback_url) restituisce immediatamente (HTTP 200):
POST a callback_url (se configurato), oppure tramite
/webextrator/tasks per interrogare attivamente.
Struttura del callback
La piattaformaPOST 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
{ "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_cacheecache_ttl_seconds. Questi due sono interruttori operativi, non influenzano il contenuto della risposta. - I
cookiese gliheadersverranno 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 await_for_selectorper 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, aggiungerestylesheetpuò rendere tutto ancora più veloce.

