我正在尝试在网站上做一个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;
}
答案 0 :(得分:1)
我已经找到了自己问题的答案。 需要重新发送cookie。下面的脚本正常工作。
function loadXML()
{
try
{
var URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/KNZB-DISTRICT-OOST/";
var response1 = UrlFetchApp.fetch(URL);
Logger.log(response1);
var cookieStr = response1.getHeaders()["Set-Cookie"];
var params = {method: "POST", headers:{"Cookie": cookieStr}};
URL = "http://www.knzb.nl/verenigingen/wedstrijdsport/waterpolo/uitslagen_waterpolo/iframe/verenigingen/poule/1178/2074/DHS289F/";
response = UrlFetchApp.fetch(URL, params);
Logger.log(response.getAllHeaders());
response = response.getContentText();
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;
}