Grazie al servizio esterno site-shot.com
Creare uno screenshot di una pagina web con Google Apps Script
In Google Apps Script non esistono metodi nativi per poter creare direttamente uno screenshot di una determinata pagina web. È possibile tuttavia avvalersi di servizi esterni e delle loro API tramite UrlFetchApp.fetch(url), in questo modo si accede alla risorsa web tramite il suo url e successivamente si analizza e si elabora il contenuto recuperato.
Sono disponibili diversi servizi web che generano screenshot a partire da un URL, ne ho provati alcuni e tra questi ho selezionato site-shot. Questo tool online gratuito, che invito a visitare dalla la semplicità di utilizzo e le possibilità di personalizzazione delle impostazioni quali larghezza, altezza, zoom, formato, schermo intero, ..., permette con una sola chiamata di ottenere l'immagine della pagina web interrogata in ottima risoluzione.
Con Google Apps Script ed il metodo sopra indicato, faremo in modo (con meno di 10 righe di codice) di interrogare l'url di nostro interesse e salvare lo screenshot risultante su Google Drive.
Lo script è il seguente:
function generaScreenshot() {
var web_page = "http://www.michelepisani.it";
var url = "https://www.site-shot.com/screenshot/?width=2048&height=2732&zoom=200&scaled_width=2048&full_size=&format=PNG&user_agent=ipad&rnd=398000510591046&url=" + web_page
var res = UrlFetchApp.fetch(url).getContentText();
var obj = JSON.parse(res);
var encoded_image = obj.image.split(",")[1];
var blob = Utilities.newBlob(Utilities.base64Decode(encoded_image, Utilities.Charset.UTF_8), "image/png", "screenshot.png");
DriveApp.createFile(blob);
}
Basterà sostituire il valore di web_page con quello della pagina desiderata ed una volta avviata la funzione ritroveremo il risultato nella root di Google Drive.
I parametri in querystring possono essere modificati al fine di ottenere dimensioni e risoluzione personalizzate (tra questi può essere utile gestire con un valore random il parametro rnd al fine di svuotare la cache così come full_size per ottenere l'immagine dell'intera pagina. Per una panoramica sui parametri rimando al sito ufficiale di site-shot).
Non ci sono commenti
Nessuno ha ancora commentato questo articolo, fallo tu per primo!
scrivi un commento