我想每天加载一个网页(可能每天更多次),解析其数据和电子邮件结果。
要解析网页,我正在使用parse.gs
脚本,如下所示:
var url="http://http://example.com";
var page = UrlFetchApp.fetch(url).getContentText();
var XmlDoc = Xml.parse(page, true);
当我解析XmlDoc
时,我只有getElement / s函数可用,我发现很难做一个有效的工作。所以我想使用更高效的东西,比如JQuery选择器。
据我所知,我必须在项目中添加一个jquery.html页面,如:
<html>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
</html>
然后添加到parse.gs
函数:
function doGet() {
return HtmlService.createHtmlOutputFromFile('jquery');
}
致电doGet
后,如何解析XmlDoc
?使用$('#content').html(XmlDoc);
之类的行不起作用。
答案 0 :(得分:1)
作为jquery的替代方法,请尝试完全在apps-script中构建Xml服务的功能。
A previous answer引入了一个实用程序函数,它通过搜索与搜索条件匹配的属性来定位XML文档中的元素。
getElementByVal( body, 'input', 'value', 'Go' )
... will find
<input type="submit" name="btn" value="Go" id="btn" class="submit buttonGradient" />
它还显示了一种可能的专业化,用于搜索 如果您能够唯一地识别元素,如上例所示,一个简单的脚本可以轻松地获得该元素:<div>
s的getDivById( html, 'tagVal' )
... will find <div id="tagVal">
var url="http://http://example.com";
var page = UrlFetchApp.fetch(url).getContentText();
// Get <div id="content">
var contentDiv = getDivById( pageDoc.getElement().body, 'content' );
...