Guida completa per estrarre dati dal web con Google Apps Script e Fogli Google.

Table of contents
  1. Cos'è l'Estrazione Dati dal Web?
  2. Perché Utilizzare l'Estrazione Dati dal Web per le Aziende?
  3. Introduzione a Google Apps Script e Google Fogli
  4. Guida Passo-Passo all'Estrazione Dati dal Web con Google Apps Script e Google Fogli
    1. L'Idea
    2. Impostazione del Foglio Google
    3. Trovare l'Elemento Giusto: Come Ottenere il Selettore CSS
    4. Il Codice (Google Apps Script)
    5. Spiegazione del Codice
    6. Esecuzione del Codice
    7. Note Importanti:
  5. Pianificazione dell'Esecuzione Giornaliera dello Script
    1. Creare un Attivatore Basato sul Tempo
  6. Suggerimenti e Limitazioni
    1. Quote di UrlFetchApp
  7. Conclusione
Attila

Business process automation expert

Sfrutta la potenza dei dati web senza bisogno di competenze di programmazione avanzate! Questo tutorial dimostra come estrarre informazioni dai siti web in modo semplice e diretto su Google Fogli utilizzando Google Apps Script, aprendo un mondo di possibilità per le aziende. Automatizza ricerche di mercato, analisi della concorrenza e raccolta dati, risparmiando innumerevoli ore di lavoro manuale e ottenendo informazioni preziose, il tutto senza richiedere una conoscenza approfondita dell’HTML.

Cos’è l’Estrazione Dati dal Web?

L’estrazione dati dal web è simile a copiare e incollare automaticamente informazioni dai siti web. Immagina di avere un assistente digitale che visita i siti web e raccoglie automaticamente informazioni specifiche. Invece di selezionare e copiare manualmente testo o immagini, un programma esegue questo compito per te, raccogliendo dati come prezzi, dettagli di prodotti o informazioni di contatto.

Questi dati estratti possono poi essere utilizzati per vari scopi, tra cui confrontare i prezzi tra diversi rivenditori online, raccogliere contatti commerciali (lead), creare notifiche per modifiche ai contenuti e altro ancora. In sostanza, l’estrazione dati dal web automatizza un noioso lavoro manuale, risparmiando tempo e fatica significativi grazie all’estrazione e all’organizzazione efficiente di grandi quantità di dati web.

Perché Utilizzare l’Estrazione Dati dal Web per le Aziende?

Nell’odierno ambiente aziendale competitivo, la produttività e l’allocazione ottimizzata delle risorse sono cruciali per il successo. L’estrazione dati dal web è uno strumento prezioso per raggiungere questi obiettivi, migliorando significativamente la produttività attraverso l’automazione della raccolta dati, che richiede molto tempo, e dell’analisi.

Automatizzando l’estrazione di dati dai siti web, le aziende risparmiano tempo e fatica considerevoli rispetto ai metodi manuali. Questa maggiore efficienza consente ai team di concentrarsi su iniziative strategiche anziché su compiti ripetitivi.

Inoltre, i dati raccolti tramite l’estrazione dati dal web non sono semplicemente un fine a sé stante; servono come input cruciale per ulteriori processi di automazione. Ad esempio, i dati estratti possono alimentare strategie di prezzo dinamiche basate sulla concorrenza nell’e-commerce o identificare automaticamente opportunità di investimento preziose aggregando annunci immobiliari da più portali.

Questa integrazione fluida con altri flussi di lavoro di automazione amplifica l’impatto dell’estrazione dati dal web, rendendola una risorsa indispensabile per qualsiasi azienda lungimirante.

Introduzione a Google Apps Script e Google Fogli

Google Apps Script è un linguaggio di scripting basato su cloud e costruito su JavaScript che ti permette di automatizzare attività e creare potenti integrazioni all’interno di Google Workspace (precedentemente G Suite). Il suo vantaggio unico risiede nella capacità di connettere fluidamente vari servizi Google, inclusi Gmail, Documenti, Drive, Calendar e, soprattutto, Fogli, rendendolo eccezionalmente adatto per costruire automazioni complete. Questa interconnessione ti consente di creare flussi di lavoro che si estendono su più applicazioni, semplificando i processi e aumentando la produttività.

Specificamente per l’estrazione dati dal web, il servizio UrlFetchApp di Apps Script ti permette di recuperare contenuti direttamente dalle pagine web, abilitando l’estrazione automatizzata dei dati e l’integrazione con il resto delle tue applicazioni Google Workspace. Inviando richieste HTTP ai siti web, puoi recuperare dati HTML, XML o JSON. Questi dati estratti possono poi essere analizzati (parsed) e strutturati utilizzando JavaScript all’interno dello script.

La vera potenza di questo approccio si realizza quando combinato con Google Fogli: i dati estratti possono essere scritti direttamente nei fogli di calcolo, fornendo un ambiente comodo e familiare per l’archiviazione, l’organizzazione, l’analisi, la visualizzazione dei dati e l’ulteriore automazione.

Guida Passo-Passo all’Estrazione Dati dal Web con Google Apps Script e Google Fogli

L’Idea

Creeremo un sistema che esegue le seguenti operazioni:

  1. Legge un elenco di indirizzi di siti web (URL) da un Foglio Google.
  2. Visita ogni sito web e ne acquisisce il contenuto HTML.
  3. Trova le informazioni predefinite (nel nostro caso, il prezzo del prodotto) all’interno di quell’HTML.
  4. Scrive i prezzi estratti nuovamente nel Foglio Google.

Impostazione del Foglio Google

Per prima cosa, hai bisogno di un Foglio Google. Il tuo Foglio Google dovrebbe avere almeno due colonne:

  • Colonna A (Colonna 1): Questa colonna conterrà gli indirizzi dei siti web (URL) dei prodotti che vuoi monitorare.
  • Colonna B (Colonna 2): Questa colonna conterrà il selettore CSS utilizzato per identificare ed estrarre l’elemento specifico (come il prezzo) dalla pagina web.
  • Colonna C (Colonna 3): Questa colonna memorizzerà i prezzi estratti dai siti web.

Qui puoi trovare un modello per il foglio di calcolo.

Trovare l’Elemento Giusto: Come Ottenere il Selettore CSS

Il prossimo passo cruciale per il tuo strumento di estrazione dati è dirgli esattamente quale informazione recuperare dalla pagina web. È qui che entra in gioco il selettore CSS.

Pensa a un selettore CSS come a un indirizzo per un elemento specifico su una pagina web – come il prezzo, il titolo di un prodotto o il conteggio delle recensioni. Ecco come puoi trovare facilmente questo indirizzo utilizzando il browser Chrome:

  1. Apri la Pagina Web: Vai alla pagina specifica del prodotto (o a qualsiasi pagina con l’elemento che vuoi estrarre).
  2. Apri gli Strumenti per Sviluppatori: Fai clic con il pulsante destro del mouse in un punto qualsiasi della pagina e seleziona “Ispeziona” (o “Inspect”). Si aprirà il pannello degli Strumenti per Sviluppatori, solitamente nella parte inferiore o laterale della finestra del browser. Assicurati di essere nella scheda “Elementi” (o “Elements”).
  3. Usa il Selettore di Elementi: Nell’angolo in alto a sinistra del pannello degli Strumenti per Sviluppatori, vedrai una piccola icona che assomiglia a una freccia dentro un riquadro (o talvolta solo un’icona a forma di cursore). Clicca su questa icona. Questo attiva la modalità “seleziona elemento”.
  4. Passa il Mouse e Clicca: Ora, sposta il cursore sugli elementi della pagina web. Mentre passi il mouse, l’elemento sotto il cursore verrà evidenziato. Clicca sull’ elemento specifico che vuoi estrarre (ad esempio, la visualizzazione del prezzo).
  5. Individua nell’HTML: Cliccando sul selettore di elementi, verrai indirizzato al codice di quell’elemento, che sarà evidenziato, all’interno della scheda “Elementi” degli Strumenti per Sviluppatori.
  6. Copia il Selettore: Fai clic con il pulsante destro del mouse sulla riga di codice evidenziata nel pannello degli Strumenti per Sviluppatori. Nel menu contestuale che appare, passa il mouse su Copia e poi clicca su Copia selettore (o “Copy selector”).
Schermata

Ecco fatto! Il selettore CSS per quell’elemento specifico è ora copiato nei tuoi appunti. Questo è il valore che dovrai quindi incollare nella Colonna B del tuo Foglio Google per l’URL di quel prodotto, indicando al tuo script di estrazione esattamente cosa cercare in quella pagina.

Il Codice (Google Apps Script)

Ora, diamo un’occhiata al codice che fa la magia. Apri l’editor di script nel tuo Foglio Google andando su “Strumenti” > “Editor di script” (o “Tools” > “Script editor”). Copia e incolla il codice fornito di seguito nell’editor di script.

/**
 * Fetches product prices from URLs in a Google Sheet and updates the sheet with the prices.
 */

// Configuration (Update these with your actual values)
const SHEET_ID = `YOUR_SHEET_ID`; // Replace with your actual Sheet ID
const SHEET_NAME = `YOUR_SHEET_NAME`; // Replace with your actual Sheet Name
const URLS_COLUMN_ID = 1; // Column containing URLs (A = 1)
const CSS_SELECTOR_COLUMN = 2; // Column containing CSS selectors (B = 2)
const PRICE_COLUMN = 3; // Column to write prices (C = 3)
const REQUEST_DELAY = 1000; // Delay between requests in milliseconds (1 second)


/**
 * Main function to run the script.
 */
function main() {
  const urlData = getUrlsFromSheet();
  if (urlData.length === 0) {
    Logger.log("No URLs to process.");
    return;
  }

  const prices = [];
  for (let i = 0; i < urlData.length; i++) {
    const url = urlData[i].url;
    const selector = urlData[i].selector;
    const html = fetchHtml(url);
    const price = extractPrice(html, selector);
    prices.push(price);
    Utilities.sleep(REQUEST_DELAY); // Delay between requests
    Logger.log(`Processed URL ${i+1}/${urlData.length}: ${url}, Price: ${price}`);
  }

  updateSheet(prices);
}


/**
 * Opens the spreadsheet and gets the URLs and selectors.
 * @return {Array<{url: string, selector: string}>} An array of objects containing URLs and selectors.
 */
function getUrlsFromSheet() {
  const ss = SpreadsheetApp.openById(SHEET_ID);
  const sheet = ss.getSheetByName(SHEET_NAME);
  const lastRow = sheet.getLastRow();
  if (lastRow < 2) return []; // Handle empty sheet

  const urls = sheet.getRange(2, URLS_COLUMN_ID, lastRow - 1)
    .getValues()
    .flat(); // Get values as a 1D array.

  const selectors = sheet.getRange(2, CSS_SELECTOR_COLUMN, lastRow - 1)
    .getValues()
    .flat(); // Get values as a 1D array.

  const urlData = [];
  for (let i = 0; i < urls.length; i++) {
    urlData.push({
      url: urls[i],
      selector: selectors[i]
    });
  }
  return urlData;
}


/**
 * Fetches the HTML content of a URL.
 * @param {string} url The URL to fetch.
 * @return {string|null} The HTML content, or null if there's an error.
 */
function fetchHtml(url) {
  try {
    const options = {
      method: 'get',
      muteHttpExceptions: true,
      headers: { // Added some common headers
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
        'Accept-Language': 'en-US,en;q=0.9',
        'Cache-Control': 'no-cache'
      }
    };
    const response = UrlFetchApp.fetch(url, options);
    if (response.getResponseCode() === 200) {
      return response.getContentText();
    } else {
      Logger.log(`Error fetching ${url}: ${response.getResponseCode()} - ${response.getContentText()}`);
      return null;
    }
  } catch (error) {
    Logger.log(`Error fetching ${url}: ${error}`);
    return null;
  }
}


/**
 * Extracts the price from the HTML using Cheerio.
 * @param {string} html The HTML content.
 * @param {string} selector The CSS selector to use.
 * @return {number|null} The extracted price as a number, or null if not found.
 */
function extractPrice(html, selector) { // Added selector parameter
  if (!html || !selector) return null; // Added check for selector

  try {
    const $ = Cheerio.load(html);
    let priceText = $(selector).text(); // Use provided selector
    if (!priceText) {
      Logger.log("Price element not found using selector: " + selector);
      return null;
    }
    priceText = priceText.replace(/,/g,'.');
    let price = parseFloat(priceText.replace(/[^0-9.]/g, ''));
    if (isNaN(price)) {
      Logger.log("Could not parse price to a number: " + priceText);
      return null;
    }
    return price;
  } catch (error) {
    Logger.log("Error extracting price: " + error);
    return null;
  }
}


/**
 * Updates the Google Sheet with the extracted prices.
 * @param {Array<number|null>} prices An array of prices to write to the sheet.
 */
function updateSheet(prices) {
  if (prices.length === 0) return;

  const ss = SpreadsheetApp.openById(SHEET_ID);
  const sheet = ss.getSheetByName(SHEET_NAME);
  const lastRow = sheet.getLastRow();
  const urlsCount = sheet.getRange(2, URLS_COLUMN_ID, lastRow - 1).getValues().flat().length;

  if (prices.length !== urlsCount) {
    Logger.log(`Number of prices (${prices.length}) does not match the number of URLs (${urlsCount}).`);
    return;
  }
  
  sheet.getRange(2, PRICE_COLUMN, prices.length, 1).setValues(prices.map(price => [price]));
}

Prima di iniziare a utilizzare questo codice, non dimenticare di includere la libreria Cheerio. Questa libreria di terze parti ci aiuta a elaborare l’HTML più facilmente e deve essere aggiunta manualmente al nostro progetto. Ecco come fare:

  1. Nell’editor di Apps Script, clicca sul menu “Risorse” (o “Resources”) e seleziona “Librerie…” (o “Libraries…”)
  2. Apparirà una finestra di dialogo. Inserisci il seguente ID Script nel campo di input: 1ReeQ6WO8kKNxoaA_O0XEQ589cIrRvEBA9qcWpNqdOP17i47u6N9M5Xh0
  3. Dopo aver inserito l’ID Script, clicca sul pulsante “Cerca” (o “Look up”).
  4. Se l’ID Script è valido, appariranno le informazioni della libreria (nome e versioni). Scegli la versione specifica della libreria che desideri utilizzare dal menu a discesa. Generalmente si consiglia di utilizzare una versione specifica anziché “l’ultima” (o “latest”) per maggiore stabilità.
  5. Una volta selezionata la versione, clicca sul pulsante “Aggiungi” (o “Add”).

La libreria dovrebbe ora apparire nella finestra di dialogo “Librerie”.

Spiegazione del Codice

Il nostro script Google Apps per monitorare i prezzi dei prodotti è composto da diverse funzioni chiave che lavorano insieme. Analizziamo cosa fa ognuna di esse:

1. main()

  • Scopo: È il direttore della nostra orchestra! La funzione main è il punto di ingresso principale che orchestra l’intero processo di recupero e aggiornamento dei prezzi. Chiama le altre funzioni nella sequenza corretta per portare a termine il lavoro.
  • Struttura:
    1. Inizia chiamando getUrlsFromSheet() per recuperare l’elenco degli URL e i relativi selettori CSS dal tuo foglio di calcolo.
    2. Quindi, scorre ogni coppia URL/selettore.
    3. All’interno del ciclo, per ogni elemento:
      • Chiama fetchHtml() per scaricare il contenuto della pagina web.
      • Passa l’HTML scaricato e il selettore a extractPrice() per trovare il prezzo.
      • Aggiunge il prezzo trovato (o null se non trovato) a un elenco.
      • Fa una breve pausa (Utilities.sleep()) per evitare di sovraccaricare i siti web.
    4. Infine, chiama updateSheet() per scrivere tutti i prezzi raccolti nuovamente nel foglio di calcolo.
  • Analogia: Pensa a main() come a un Project Manager. Non esegue direttamente i compiti specializzati, ma conosce l’obiettivo generale e dirige gli specialisti (getUrlsFromSheet, fetchHtml, extractPrice, updateSheet) nell’ordine corretto, assicurando che il progetto (monitoraggio dei prezzi) sia completato passo dopo passo.

2. getUrlsFromSheet()

  • Scopo: Questa funzione agisce come recuperatore di dati. Il suo compito è aprire il Foglio Google specificato e leggere l’elenco degli URL delle pagine dei prodotti e i selettori CSS necessari per trovare i prezzi su quelle pagine.
  • Struttura:
    1. Apre il Foglio di calcolo Google utilizzando il suo ID (SHEET_ID).
    2. Seleziona il foglio specifico all’interno di quel foglio di calcolo utilizzando il suo nome (SHEET_NAME).
    3. Determina quante righe contengono dati.
    4. Legge i valori dalla colonna degli URL (URLS_COLUMN_ID).
    5. Legge i valori dalla colonna dei Selettori CSS (CSS_SELECTOR_COLUMN).
    6. Combina questi in un elenco in cui ogni elemento contiene sia l’URL sia il selettore corrispondente.
    7. Restituisce questo elenco di coppie URL/selettore.
  • Analogia: Questa funzione è come un Bibliotecario. Gli fornisci la posizione (ID e Nome del Foglio) e il tipo di informazioni di cui hai bisogno (URL e Selettori da colonne specifiche), e lui va agli scaffali (il Foglio), estrae gli elenchi richiesti e te li consegna ordinatamente organizzati.

3. fetchHtml()

  • Scopo: Il ruolo di questa funzione è visitare un indirizzo web specifico (URL) e scaricare il codice sorgente HTML grezzo di quella pagina. Questo codice è ciò che il browser utilizza per visualizzare la pagina web e contiene le informazioni sul prezzo di cui abbiamo bisogno.
  • Struttura:
    1. Prende un singolo url come input.
    2. Utilizza il servizio UrlFetchApp.fetch() di Google Apps Script per effettuare una richiesta a quell’URL.
    3. Include opzioni specifiche (come gli header User-Agent) per far sembrare la richiesta proveniente da un browser web standard, il che può aiutare a prevenire il blocco da parte di alcuni siti web.
    4. Controlla se il sito web ha risposto con successo (codice di stato HTTP 200).
    5. In caso di successo, restituisce il codice HTML scaricato come testo.
    6. Se si verifica un errore (come pagina non trovata o accesso negato), registra l’errore e restituisce null.
  • Analogia: Immagina fetchHtml() come un Esploratore Web. Gli fornisci un indirizzo (URL), e lui va in quella posizione su Internet, fa una copia del progetto di base della pagina (l’HTML) e te lo riporta. Cerca persino di sembrare un visitatore normale per evitare sospetti.

4. extractPrice()

  • Scopo: Questo è l’estrattore specializzato. Dato il codice HTML grezzo di una pagina e un selettore CSS specifico (che agisce come una coordinata su una mappa), questa funzione trova il testo del prezzo, lo ripulisce e lo converte in un valore numerico.
  • Struttura:
    1. Prende il contenuto html e il selettore come input.
    2. Utilizza la libreria Cheerio (che deve essere aggiunta al tuo progetto Apps Script) per analizzare (parse) l’HTML, rendendolo facile da interrogare.
    3. Utilizza il selettore fornito per individuare l’elemento HTML esatto che contiene il prezzo.
    4. Estrae il contenuto testuale da quell’elemento.
    5. Ripulisce il testo: rimuove simboli di valuta, separatori delle migliaia (come le virgole) e qualsiasi altro carattere non numerico eccetto il punto decimale. Standardizza anche i separatori decimali in punti.
    6. Converte il testo ripulito in un numero in virgola mobile.
    7. Se un qualsiasi passaggio fallisce (ad esempio, selettore non trovato, testo non convertibile in numero), registra il problema e restituisce null. Altrimenti, restituisce il prezzo numerico.
  • Analogia: Pensa a extractPrice() come a un Detective dei Dati. Riceve un documento di grandi dimensioni (HTML) e un indizio specifico (il selettore CSS). Usa l’indizio per trovare il dato esatto (il testo del prezzo), rimuove con cura eventuali segni che lo oscurano (simboli di valuta, virgole) e riporta il valore numerico finale trovato.

5. updateSheet()

  • Scopo: Questa funzione è il passaggio finale, responsabile di prendere l’elenco dei prezzi estratti e riscriverli nella colonna designata nel tuo Foglio Google.
  • Struttura:
    1. Prende l’array prices (raccolto dalla funzione main) come input.
    2. Apre il Foglio di calcolo Google e il Foglio di destinazione (in modo simile a getUrlsFromSheet).
    3. Esegue un controllo di sicurezza: verifica che il numero di prezzi raccolti corrisponda al numero di URL letti originariamente dal foglio per evitare di scrivere dati nelle righe sbagliate se alcuni recuperi sono falliti.
    4. Seleziona l’intervallo corretto nella colonna di output (PRICE_COLUMN), partendo dalla seconda riga e coprendo il numero necessario di righe.
    5. Formatta il semplice elenco di prezzi in un formato array 2D richiesto da Google Fogli per la scrittura ([[prezzo1], [prezzo2], ...]).
    6. Scrive i prezzi formattati nell’intervallo selezionato nel foglio utilizzando setValues().
  • Analogia: Questa funzione è il Contabile o lo Scrivano. Prende il rapporto finale (l’elenco dei prezzi) generato dal team e inserisce attentamente ogni valore nella cella corretta del registro (il Foglio Google), garantendo accuratezza e posizionamento corretto.

Esecuzione del Codice

Dopo aver incollato il codice nell’editor di script:

  1. Salva lo script.
  2. Esegui la funzione main(). Dovrai autorizzare lo script ad accedere al tuo Foglio Google.

Note Importanti:

  • La funzione extractPrice(html, selector) è la parte più specifica per ogni sito web. Il modo in cui i prezzi sono visualizzati in HTML varia da sito a sito. Pertanto, potrebbe essere necessario modificare il codice all’interno di questa funzione per adattarlo alla struttura dei siti web che stai monitorando. Probabilmente dovrai ispezionare il codice sorgente HTML del sito web per trovare un selettore CSS adatto.
  • Il codice include un ritardo di 1 secondo tra le richieste. Questo è importante per essere rispettosi nei confronti dei siti web da cui estrai dati e per evitare di essere bloccati.

Questo sistema automatizzato ti farà risparmiare tempo e fatica monitorando automaticamente i prezzi dei prodotti per te. Comprendendo le basi del suo funzionamento, puoi persino personalizzarlo ulteriormente per adattarlo alle tue esigenze specifiche.

Pianificazione dell’Esecuzione Giornaliera dello Script

L’ultimo passaggio è pianificare l’esecuzione automatica dello script ogni giorno all’ora desiderata.

Creare un Attivatore Basato sul Tempo

  • Vai su “Modifica” -> “Attivatori del progetto corrente” (o “Edit” -> “Current project’s triggers”).
  • Clicca su “Aggiungi attivatore” (o “Add Trigger”).
  • Seleziona la funzione main().
  • Scegli “Evento temporizzato” (o “Time-driven”) come origine dell’evento.
  • Seleziona “Timer giornaliero” (o “Day timer”) e specifica l’ora desiderata (ad es., 00:00 per la mezzanotte).
  • Salva l’attivatore.

Suggerimenti e Limitazioni

Sebbene UrlFetchApp di Google Apps Script sia efficace per molti siti web, potrebbe non essere adatto per siti fortemente protetti che impiegano misure anti-estrazione dati come CAPTCHA e blocco IP. Tentare di aggirare queste protezioni solo con Apps Script è spesso inaffidabile.

L’estrazione dati da tali portali o l’impegnarsi in pratiche “black hat” richiede soluzioni dedicate di terze parti che utilizzano tecniche come proxy a rotazione e risolutori di CAPTCHA. Esempi di tali servizi includono Apify, Bright Data, ParseHub e Scraper API.

È importante notare che questi servizi possono spesso essere integrati nei processi di automazione di Google Workspace. Ciò significa che puoi comunque costruire un flusso di lavoro automatizzato completo all’interno della tua infrastruttura Workspace, anche se è necessaria una soluzione di estrazione dati di terze parti. I dati estratti da questi servizi possono essere trasferiti fluidamente in Google Fogli, Documenti o altre app di Workspace utilizzando le loro API o webhook. Si raccomanda vivamente di rispettare i termini di servizio dei siti web e il file `robots.txt`, e di effettuare l’estrazione dati in modo responsabile ed etico.

Quote di UrlFetchApp

Google Workspace impone quote e limitazioni su `UrlFetchApp` per prevenire abusi, mantenere la stabilità del servizio e garantire un utilizzo equo tra tutti gli utenti. Queste limitazioni sono cruciali da comprendere durante la progettazione di script per l’estrazione dati dal web:

  • Tempo di Esecuzione: Esiste un limite giornaliero sul tempo totale di esecuzione del tuo progetto Apps Script. Al momento della stesura di questo testo, questo limite è tipicamente di circa 6 minuti per esecuzione per la maggior parte degli account Workspace. Ciò significa che se il tuo script viene eseguito per un periodo prolungato a causa di numerose chiamate UrlFetchApp o elaborazioni complesse, potrebbe raggiungere questo limite e interrompere l’esecuzione. Tuttavia, spesso è possibile riavviare lo script dopo che si è interrotto a causa del raggiungimento del limite di tempo di esecuzione, consentendo di elaborare set di dati più grandi o eseguire attività più complesse in più fasi.
  • Numero di Chiamate: Esistono restrizioni sul numero di richieste UrlFetchApp che puoi effettuare entro specifici intervalli di tempo. Questi limiti sono progettati per prevenire il sovraccarico dei siti web di destinazione con le richieste. Al momento della stesura di questo testo, gli account Google gratuiti hanno tipicamente un limite giornaliero di circa 20.000 chiamate UrlFetchApp, mentre gli account Google Workspace hanno generalmente un limite molto più alto, circa 100.000 chiamate al giorno.
  • Approccio Sequenziale vs. fetchAll(): Sebbene Apps Script operi in un ambiente single-thread e non offra un vero recupero simultaneo, l’utilizzo di UrlFetchApp.fetchAll() consente un recupero ottimizzato di più URL. Questo metodo riduce significativamente l’overhead rispetto al recupero sequenziale gestendo la comunicazione di rete in modo più efficiente, anche se le richieste non vengono eseguite in parallelo.

Conclusione

In sintesi, l’estrazione dati dal web con Google Apps Script e Google Fogli offre alle aziende un modo potente, accessibile e, soprattutto, gratuito per automatizzare la raccolta dati e ottenere informazioni preziose. Google Apps Script è disponibile sia per gli account Google gratuiti sia per gli abbonamenti a Google Workspace, rendendolo una soluzione conveniente per aziende di ogni dimensione.

Inoltre, se utilizzi Google Workspace, affidarsi ad Apps Script per le tue esigenze di estrazione dati dal web offre una flessibilità e un’integrazione impareggiabili all’interno dei tuoi flussi di lavoro aziendali esistenti. A differenza delle rigide soluzioni di terze parti che spesso richiedono complesse integrazioni e processi di trasferimento dati, Apps Script si connette fluidamente con le altre app di Workspace.

Ti incoraggiamo a esplorare le possibilità offerte dall’estrazione dati dal web con Google Apps Script e Fogli per le esigenze della tua azienda e a sbloccare il potenziale della raccolta dati automatizzata per una maggiore efficienza e un vantaggio strategico. Il numero di scenari in cui questa potente combinazione può essere applicata è virtualmente infinito; dall’automazione delle ricerche di mercato e dell’analisi della concorrenza alla semplificazione della generazione di lead e all’aggregazione di contenuti, solo la tua immaginazione limita i potenziali casi d’uso.

Attila

Business process automation expert

Leave a comment

Il tuo indirizzo email non sarà pubblicato.

bestflow.

1118 Budapest, Ménesi út 24. Hungary

© 2024 bestflow. All rights reserved.