2016-06-30 6 views
-1

Ich habe ein Skript, das Daten von Zillow in ein Google-Dokument zieht .... siehe unten. Es hat für ein paar Jahre gut funktioniert, aber vor kurzem aufgehört zu arbeiten. Es scheint zu laufen, dauert aber lange und es werden keine Daten aufgefüllt. Die Zillow-ID befindet sich in Spalte B des aktiven Blattes und laut Skript sollte das Zestimate in Spalte 48 geschrieben sein. Ich habe meine ZWS-ID durch "X1-XXXXXXXXX_XXXX"Zillow und Google Script

ersetzt. Jede Hilfe wird sehr geschätzt.

Dank KIWI

function getZillowEstimates() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var rows = sheet.getDataRange(); 
    var numRows = rows.getNumRows(); 
    var values = rows.getValues(); 

    var specificRow = "" 
    var endRow; 
    if(specificRow == "") 
    { 
    specificRow = 1; 
    endRow = numRows; 
    } 
    else 
    { 
    specificRow = specificRow - 1; 
    endRow = specificRow; 
    } 
    for (var i = specificRow; i <= endRow; i++) 
    { 
    try 
    { 
     var row = values[i]; 
     var response = UrlFetchApp.fetch("http://www.zillow.com/webservice/GetZestimate.htm?zws-id=X1-XXXXXXXXX_XXXX&zpid=" + row[1]); 
     var xmlDoc = XmlService.parse(response.getContentText()); 
     var documentElement = xmlDoc.getRootElement(); 
     var destinationRange = sheet.getRange(i + 1, 48, 1, 1); 
     if(null != documentElement) 
     { 
     var responseElement = documentElement.getChild("response"); 
     if (null != responseElement) 
     { 
      var zestimateElement = responseElement.getChild("zestimate"); 
      if(null != zestimateElement) 
      { 
      var amountElement = zestimateElement.getChild("amount"); 
      if(null != amountElement) 
      { 
       var rowValue = []; 
       var cellValue = []; 
       cellValue.push(amountElement.getText()); 
      } 
      } 
     } 
     } 
     else 
     { 
     cellValue.push("Not Found"); 
     } 
     rowValue.push(cellValue); 
     destinationRange.setValues(rowValue); 
    } 
    catch(exception) 
    { 

    } 
    } 
}; 



/** 
* Adds a custom menu to the active spreadsheet, containing a single menu item 
* for invoking the readRows() function specified above. 
* The onOpen() function, when defined, is automatically invoked whenever the 
* spreadsheet is opened. 
* For more information on using the Spreadsheet API, see 
* https://developers.google.com/apps-script/service_spreadsheet 
*/ 
function onOpen() { 
    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var menuItems = [ 
    {name: 'Get ZEstimate', functionName: 'getZillowEstimates'}, 
    ]; 
    spreadsheet.addMenu('Zestimates', menuItems) 
}; 
+0

Willkommen bei [so]. Bitte nimm die [Tour] und check [ask]. –

Antwort

0

Heute arbeitet. Gestern benötigte das Skript 6 Minuten zum Laufen, heute 1,6 Sekunden. Ich vermute, es gab ein Problem mit Zillow oder mit der API.

Verwandte Themen