使用Google App Script从HTML元素中解析值?

时间:2014-01-19 15:41:58

标签: javascript jquery ajax google-apps-script

我正在尝试在Google协作平台上逐个解析HTML,我的代码是:

function doGet(){

  var html = UrlFetchApp.fetch ('http://indicadoresdeldia.cl/').getContentText();
  var doc = XmlService.parse(html);
  var html = doc.getRootElement();
  var menu = getElementsByClassName(html, 'span3 utm')[0];
  var output = XmlService.getRawFormat().format(menu);
  return HtmlService.createHtmlOutput(output);

}

Ween我运行代码时出现nexte错误消息ReferenceError:“getElementsByClassName”未定义。

我正在尝试为下一页部署示例:https://sites.google.com/site/scriptsexamples/learn-by-example/parsing-html

有什么想法吗?

事先得到你的帮助。

2 个答案:

答案 0 :(得分:1)

根据该网站,您应该直接将这些功能复制到您的项目中(在那里可用的源代码)然后调用它们。这样可以缓解你的每一个问题。

答案 1 :(得分:0)

来源:https://sites.google.com/site/scriptsexamples/learn-by-example/parsing-html

function getElementsByClassName(element, classToFind) {  
  var data = [];
  var descendants = element.getDescendants();
  descendants.push(element);  
  for(i in descendants) {
    var elt = descendants[i].asElement();
    if(elt != null) {
      var classes = elt.getAttribute('class');
      if(classes != null) {
        classes = classes.getValue();
        if(classes == classToFind) data.push(elt);
        else {
          classes = classes.split(' ');
          for(j in classes) {
            if(classes[j] == classToFind) {
              data.push(elt);
              break;
            }
          }
        }
      }
    }
  }
  return data;
}