Erstellen eines UrlFetchApp-Skripts zum Ersetzen der importHTML-Funktion von Google Sheet

VfürVendetta

Ich habe die folgende Formel jetzt ungefähr ein Jahr lang verwendet und plötzlich funktionierte sie nicht mehr / importierte die Tabelle nicht mehr.

=IMPORTHTML("https://tradingeconomics.com/matrix";"table";1)

Es gibt mir einen Fehler " URL konnte nicht abgerufen werden: https://tradingeconomics.com/matrix" .

Ich habe verschiedene Dinge ausprobiert und eines der interessanten Ergebnisse war, dass importHTML für die zwischengespeicherte Version funktioniert, aber nur in einem neuen Blatt unter einem anderen Google-Konto. Darüber hinaus bricht auch die zwischengespeicherte Version zufällig ab.

Daher komme ich anscheinend nicht darum herum, ein Skript für diesen Zweck zu verwenden.

Idealerweise wäre dieses Skript flexibel genug, wo es eine dedizierte Funktion hätte, zB importHTMLtable, wo der Benutzer die URL und die Tabellennummer eingeben kann. und es funktioniert. Es würde also für die folgenden Funktionen funktionieren, die ich derzeit verwende, z

=importHTMLtable("https://tradingeconomics.com/matrix";"table";1)

ODER

=importHTMLtable("https://tradingeconomics.com/country-list/business-confidence?continent=world";"table";1)

ODER

=importHTMLtable("https://tradingeconomics.com/country-list/ease-of-doing-business";"table";1)

etc...

Nicht sicher, ob dieser Github-Code dieses Problem löst. Es scheint nur Text zu analysieren?

Ich würde davon ausgehen, dass dies ein ziemlich häufiges Problem ist, das Benutzer von Google Sheets haben, und ich würde denken, dass es möglicherweise bereits ein AppScript gibt, das genau dies tut und auch in Bezug auf die Importgeschwindigkeit schneller sein könnte.

Ich kann nicht programmieren, also habe ich versucht, Codes zu kopieren und zu posten, um zu sehen, ob ich einen Code zum Laufen bringen kann. Kein Glück :(

Kann jemand einen Code oder vielleicht ein vorhandenes App-Skript (mir nicht bekannt) bereitstellen, das genau das tut?

Mike Steelson

Versuchen Sie es auf diese Weise

=importTableHTML(A1,1)

mit

function importTableHTML(url,n){
  var html = UrlFetchApp.fetch(url,{followRedirects : true,muteHttpExceptions: true}).getContentText().replace(/(\r\n|\n|\r|\t|  )/gm,"")
  const tables = [...html.matchAll(/<table[\s\S\w]+?<\/table>/g)];
  var trs = [...tables[n-1][0].matchAll(/<tr[\s\S\w]+?<\/tr>/g)];
  var data = [];
  for (var i=0;i<trs.length;i++){
console.log(trs[i][0])
    var tds = [...trs[i][0].matchAll(/<(td|th)[\s\S\w]+?<\/(td|th)>/g)];
    var prov = [];
    for (var j=0;j<tds.length;j++){
      donnee=tds[j][0].match(/(?<=\>).*(?=\<\/)/g)[0];
      prov.push(stripTags(donnee));
    }
    data.push(prov);
  }
  return(data)
}
function stripTags(body) {
  var regex = /(<([^>]+)>)/ig;
  return body.replace(regex,"").replace(/&nbsp;/g,' ').trim();
}

Geben Sie hier die Bildbeschreibung ein

url-fetch-app#advanced-parameters

matchAll

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Verwenden der Google Cloud-Funktion zum Erstellen eines Python-Skripts

Erstellen eines Skripts zum Herstellen einer Verbindung mit ssh von der nmap-Ausgabe

Ausführen eines Skripts zum Erstellen von Tabellen mit HSQLDB

PL / SQL, wie ein benutzerdefinierter Datensatz von der Funktion zum Erstellen oder Ersetzen zurückgegeben wird

Erstellen eines Skripts zum Ersetzen des Inhalts einer kleinen Datei in einem Platzhalter in einer größeren Datei

Kusto-Befehl zum Generieren eines Skripts zum Erstellen einer Tabelle und einer Funktion

Schaltfläche zum Erstellen eines Google Apps-Skripts, mit der Funktionen mit mehreren Parametern ausgeführt werden

Erstellen einer benutzerdefinierten Funktion zum Ersetzen von Werten in R.

XSLT 1.0 zum Ändern der Funktion zum Ersetzen von Konfigurationsdateien

Erstellen einer Funktion zum Erstellen eines bestimmten Satzes von Kombinationen

Google Sheets - Skript zum "Ersetzen" anstelle von "Erstellen", wenn der Dateiname identisch ist

Standardargument in der Funktion zum Erstellen eines Wörterbuchs erstellt eine Endlosschleife von Selbstreferenzen

Verwenden eines Shell-Skripts zum Ersetzen von Token in einer Datei

Erstellen eines Skripts zum Entfernen einer Referenz

Erstellen eines Powershell-Skripts zum Abrufen von Netzwerkordnerinformationen Problem beim Erfassen und Anzeigen von LastWriteTime

Erstellen eines Skripts zum Erhöhen der Anzahl auf der Website

Nicht erkannte Funktion beim Hinzufügen einer Formel zu einem Google Sheet mithilfe eines Skripts

Funktion zum Ersetzen von 3 ersten Buchstaben der Zeichenfolge

Alternative zum Ersetzen der Google Cloud-Funktion

Funktion zum Ersetzen von Teilsequenzen

Google Sheets - Optimierung der Funktion zum Erstellen von Notizen in einem Bereich (sehr langsam)

Erstellen eines VBA-Skripts zum Automatisieren von Datenupload und -transformation

Erstellen eines LoadRunner-Skripts zum Erfassen von Json-Daten

Schreiben eines Shell-Skripts unter Verwendung von "Paketen" zum Erstellen einer .pkg-Datei

Erstellen eines Skripts zum Ändern von Regedit-Werten in allen Ordnern und Unterordnern

Verwenden der Funktion dict() zum Erstellen eines Wörterbuchobjekts?

Übergabe der Funktion als Parameter zum Erstellen eines Delegaten

Verwenden von AJAX zum Ausführen eines PHP-Skripts über eine JavaScript-Funktion

Die Daten können nicht von der Website mit IMPORTHTML oder IMPORTXML in Google Sheet abgekratzt werden

TOP Liste

  1. 1

    Modbus Python Schneider PM5300

  2. 2

    Glassfish v3.0.1 im Vergleich zu Oracle GlassFish Server 3.0.1 - Gibt es einen technischen Grund, die kommerzielle Version zu verwenden?

  3. 3

    Wie schließe ich mehrere Ordner mit der Variablen EXTRA_ARGS aus?

  4. 4

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  5. 5

    Wie kann man eine Multi-Container-Anwendung in Steuerkarten erstellen?

  6. 6

    ElasticSearch - Knotensperren konnten nicht abgerufen werden

  7. 7

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  8. 8

    Elasticsearch startet nicht nach dem Laden in viele Daten

  9. 9

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  10. 10

    Wie Verwenden von Httpclient mit jedem SSL-Zertifikat, egal wie „schlecht“ es ist

  11. 11

    Wie vergleicht man scala.xml-Knoten richtig?

  12. 12

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  13. 13

    Wie füge ich eine Spalte in einer Zeile in der Ansible Jinja2-Vorlage mit der for-Schleife hinzu?

  14. 14

    HTTPS-Verbindung mit Moneris-Servern in Curl

  15. 15

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  16. 16

    Bester Crawler, um festzustellen, ob er mit Technologien gebaut wurde?

  17. 17

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  18. 18

    Wie kann ich den Kaskadenmodus global einstellen?

  19. 19

    Eclipse Oxygen - Projekte verschwinden

  20. 20

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  21. 21

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

heißlabel

Archiv