Estoy tratando de escribir un código que capture información limitada de las páginas web usando el siguiente código en Google Apps Script:
var url = "myurlhere.com"; var str = UrlFetchApp.fetch(url).getContentText(); const RegexExp = /(?<=<span class=\"text-match\">).*?(?=<\/span>)/gi; var result = str1.match(RegexExp); Y esto funciona MARAVILLOSAMENTE. El problema surge cuando la fuente de la página de url es una creación de Javascript del lado del cliente. Estoy rastreando Internet, y básicamente en todos los lugares que he buscado, obtengo la misma respuesta ... "necesitas un navegador sin cabeza", "usa Node.js o Phantom.js".
Esto es irrelevante para mí. No soy el propietario del archivo HTML, así que me falta algo o Node.js no funciona aquí y Phantom.js no funcionará porque esta no es mi máquina local.
Mis pensamientos actuales sobre una solución... crear una ventana emergente usando Apps Script (cargar toda la página web, no solo la fuente de Javascript) y encontrar una manera de obtener el HTML generado (lo que ve cuando "inspecciona" un página), pero aquí es donde me quedo atascado. Estoy buscando un experto que sepa mejor cómo interactuar con una pestaña de Chrome y obtener esta información con Google Apps Script.
Progreso del intento actual:
function openURLdata() { var js = " \ <script> \ window.open('myurlhere.com', 'URLdata', 'width=800, height=600'); \ google.script.host.close(); \ </script> \ "; var html = HtmlService.createHtmlOutput(js) .setHeight(10) .setWidth(100); Logger.log(html.getContent()); SpreadsheetApp.getUi().showModalDialog(html, 'Now loading.'); // If you use this on Spreadsheet }¿Alguien sabe si esto es un paso en la dirección correcta? ¿Las comunicaciones del lado del servidor de Google significan que nunca obtendré una interpretación de texto sin formato de la página HTML de la que necesito mis datos? Tengo que realizar esta tarea en Hojas de cálculo de Google y el sitio de destino no tiene una API que pueda usar.