【发布时间】:2014-08-14 12:17:21
【问题描述】:
我正在尝试在网站上做一个 urlfetchapp,该网站包含 HTML,但这对我来说已经足够了。 例如我想要this url。
这种方法的问题是,直到我第一次访问this url,它才会显示任何数据。
我试图一个接一个地做 2 个 urlfetchapp。但这没有用。 我该如何解决这个问题?
下面是我的测试代码,如果有数据那么 objTable 应该得到数据。
function loadXML()
{
try
{
var URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/KNZB-DISTRICT-OOST/";
var response = UrlFetchApp.fetch(URL);
URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/poule/1178/2074/DHS289F/";
response = UrlFetchApp.fetch(URL).getContentText();
Logger.log(response);
var doc = Xml.parse(response, true);
var objTable = doc.html.body.form.div[1].div.div.div.div.div.div;
}
catch(err)
{
var objTable = "Load failed";
Logger.log("Loading data failed: " + err);
}
return objTable;
}
【问题讨论】:
-
我试过这段代码,两个 urlFetch 语句都检索到了数据。第二个 urlFetch 将检索第一个注释掉的数据。
var doc = Xml.parse(response, true);语句正在返回 XmlDocument。var objTable = doc.html.body.form.div[1].div.div.div.div.div.div;语句产生错误。catch(err)捕获错误并返回:加载数据失败:TypeError:无法从未定义中读取属性“div”。doc是全局变量吗?doc定义在哪里? -
它将运行并获取一些数据。但是我正在获取的第二个网站并没有显示应有的数据。如果我希望数据按预期显示,我需要先打开第一页,然后再打开第二页。然后在浏览器中显示正确的数据。如果我获取了正确的数据,应该不会有任何错误。
标签: google-apps-script urlfetch