Ziel: Ich versuche, Daten von einer Website zu ziehen und verwenden Sie es, um eine große Tabelle zu erstellen. Ich kann sagen, dass ich sehr nahe daran bin, das zum Laufen zu bringen, aber ich habe eine Straßensperre erreicht.Daten Scraping mit ImportHTML in Apps Script & Google Tabellen
Hintergrund: Ich habe ein Google-Blatt mit drei Seiten. (1) Die betitelten "Ticker" sind eine Liste aller Ticker im S & P 500 in den Reihen A1-A500. (2) Betiteltes actionField ist nur eine leere Seite während des Skripts. (3) Betiteltes Ergebnisfeld enthält die Ergebnisse. Die Website, von der ich ziehe, ist (http://www.reuters.com/finance/stocks/companyOfficers?symbol=V). Ich möchte, dass das Skript (mit geringfügigen Änderungen) für alle Daten funktioniert, auf die über importHtml zugegriffen werden kann.
Script: Das Skript I ist momentan wie folgt:
function populateData() {
var googleSheet = SpreadsheetApp.getActive();
// Reading Section
var sheet = googleSheet.getSheetByName('tickers');
var tickerArray = sheet.getDataRange().getValues();
var arrayLength = tickerArray.length;
var blankSyntaxA = 'ImportHtml("http://www.reuters.com/finance/stocks/companyOfficers?symbol=';
var blankSyntaxB = '", "table", 1)';
// Writing Section
for (var i = 0; i < arrayLength; i++)
{
var sheet = googleSheet.getSheetByName('actionField');
var liveSyntax = blankSyntaxA+tickerArray[i][0]+blankSyntaxB;
sheet.getRange('A1').setFormula(liveSyntax);
Utilities.sleep(5000);
var importedData = sheet.getDataRange().getValues();
var sheet = googleSheet.getSheetByName('resultField');
sheet.appendRow(importedData)
}
}
Dieser greift erfolgreich den Ticker von der tickers Seite. Ruft importHtml auf. Kopiert die Daten. Und fügt SOMETHING auf der rechten Seite hinzu. Es läuft durch und macht dies für jeden Punkt in der Ticker-Liste.
jedoch, wobei die Daten angehängt wird, wie folgt:
[Ljava.lang.Object;@42782e7c
[Ljava.lang.Object;@2de9f184
[Ljava.lang.Object;@4b86a4d0
, die sich über viele Spalten zeigt, für so viele Zeilen, wie es Iterationen in der Schleife sind.
Wie füge ich die Daten erfolgreich an?
(Und jede Beratung über dieses Skript zu verbessern?)