【发布时间】:2017-05-10 07:33:16
【问题描述】:
我想从这个网站找到汇率数据。我相信这是一个所谓的动态网站(对不起,我是 javascript 新手),数据位于其他地方。我可以知道如何提取汇率吗? (例如,使用谷歌表格 IMPORTXML 功能或通过使用 javascript 创建新网站来提取数据)
资料链接:http://www.amcm.gov.mo/en/financial-information/middle-rates
更多信息: 我使用此代码从 Google 表格中的非动态网站获取数据,但这次失败了。在浏览了HTML之后,我发现我想要的数据是由这个网页中的一些Javascript生成的。
function getAMCMMidRate() {
var link = 'http://www.amcm.gov.mo/zh/financial-information/middle-rates';
var html = UrlFetchApp.fetch(link).getContentText();
var doc = XmlService.parse(html);
var html = doc.getRootElement();
var menu = getElementById(html, 'result-table')[0];
var output = XmlService.getRawFormat().format(menu);
return output;
}
更多信息:
我今天尝试使用 javascript,这是我的代码。结果仅包含表的标题,但不包含内容。我该怎么办?
顺便说一句,我发现此代码仅适用于 IE,但不适用于 Chrome。我知道这是根据https://www.html5rocks.com/en/tutorials/cors/ 的CORS。但是我仍然无法使用本网站建议的代码在 Chrome 上运行。
<!DOCTYPE html>
<html>
<body>
<h2>Using the XMLHttpRequest Object</h2>
<div id="demo">
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</div>
<script>
var myURL="http://www.amcm.gov.mo/en/financial-information/middle-rates";
function createCORSRequest(method, url){
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr){
xhr.open(method, url, false);
} else if (typeof XDomainRequest != "undefined"){
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
xhr = null;
}
return xhr;
}
function loadXMLDoc() {
var request = createCORSRequest("GET", myURL);
if (request){
request.onload = function(){
var parser = new DOMParser();
var xmlDoc=parser.parseFromString(request.responseText,"text/html");
var tds= xmlDoc.getElementById("result-table");
document.getElementById("demo").appendChild(tds);
};
request.send();
}
}
</script>
【问题讨论】:
标签: javascript html google-apps-script