首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zillow和Google Script

Zillow和Google Script
EN

Stack Overflow用户
提问于 2016-07-01 01:49:06
回答 1查看 1.4K关注 0票数 0

我有一个脚本,将数据从Zillow拉到谷歌的doc....see下面。它已经工作了几年,但最近停止了工作。它看起来正在运行,但需要很长时间,而且没有填充任何数据。Zillow ID位于活动工作表的B列中,根据脚本,Zestimate应写入48列。我已经用"X1-XXXXXXXXX_XXXX“替换了我的ZWS-ID

任何帮助都是非常感谢的。

谢谢奇异果

代码语言:javascript
复制
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)
};
EN

回答 1

Stack Overflow用户

发布于 2016-07-02 05:08:16

今天,它正在发挥作用。昨天脚本运行需要6分钟,今天是1.6秒。我猜是Zillow或者API出了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38130088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档