我正在尝试在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
有什么想法吗?
事先得到你的帮助。
答案 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;
}