Google Apps Script:
Analizando HTML

Cómo:

Google Apps Script no tiene un método integrado para analizar HTML. Sin embargo, puedes aprovechar el servicio UrlFetchApp para recuperar contenido HTML y luego usar métodos de JavaScript o regex (expresiones regulares) para el análisis. A continuación, se muestra un ejemplo básico de cómo obtener y analizar la etiqueta de título de una página web.

function parseHTMLTitle(url) {
  // Recupera el contenido HTML de la página web
  const response = UrlFetchApp.fetch(url);
  const htmlContent = response.getContentText();

  // Utiliza un regex simple para encontrar el contenido de la etiqueta <title>
  const titleRegex = /<title>(.*?)<\/title>/;
  const match = htmlContent.match(titleRegex);

  // Verifica si se encontró un título y lo devuelve
  if (match && match.length > 1) {
    return match[1];
  }

  return 'No se encontró título';
}

// Ejemplo de uso
const url = 'http://example.com';
const pageTitle = parseHTMLTitle(url);
Logger.log(pageTitle); // Muestra el título de la página web

Para un análisis de HTML más sofisticado, puedes utilizar el XmlService para analizar el HTML como XML. Sin embargo, esto requiere que el HTML sea XML bien formado, lo cual no siempre es el caso:

function parseHTMLUsingXmlService(htmlContent) {
  try {
    const document = XmlService.parse(htmlContent);
    const rootElement = document.getRootElement();
    // Desde aquí, navega por el árbol XML con los métodos de XmlService
    // Por ejemplo, para encontrar un elemento o atributo específico
  } catch(e) {
    Logger.log('Error al analizar HTML: ' + e.toString());
  }
}

Profundización:

Históricamente, el análisis de HTML en entornos como Google Apps Script ha sido un desafío debido a la falta de un Modelo de Objetos del Documento (DOM) o bibliotecas de análisis dedicadas que son comunes en otros contextos de programación. JavaScript en un navegador, por ejemplo, tiene el DOM disponible fácilmente, y los entornos Node.js tienen acceso a una plétora de paquetes NPM como cheerio o jsdom para analizar HTML.

El enfoque de Google Apps Script se inclina fuertemente hacia el uso de UrlFetchApp para solicitudes web y luego manipular los datos de respuesta usando métodos de análisis regex o XML. Aunque regex puede ser útil para tareas de análisis simples, generalmente no es aconsejable para HTML complejo debido al riesgo de errores y la posiblemente frágil naturaleza del código. El análisis XML con XmlService ofrece un enfoque más estructurado pero requiere HTML/XML bien formado, lo cual puede ser una limitación al tratar con páginas web arbitrarias.

Para necesidades de análisis complejas o al tratar con HTML mal formado, una estrategia alternativa podría incluir el uso de un servicio web externo a Google Apps Script. Este servicio podría procesar contenido HTML, posiblemente utilizando una técnica o biblioteca de análisis más robusta, y luego devolver los datos procesados en una forma que sea fácilmente consumible por Google Apps Script. Este enfoque, sin embargo, introduce latencia de red y la complejidad de gestionar un servicio web adicional.

A pesar de estos desafíos, analizar HTML dentro de Google Apps Script sigue siendo una herramienta poderosa, especialmente cuando se combina con otros servicios y APIs de Google, proporcionando una gama de posibilidades de automatización que pueden mejorar significativamente la productividad y las capacidades de procesamiento de datos.