А если сайт возвращает ошибку 307 через UrlFetchApp, хотя из браузера
отлично открывается - как можно с этим побороться?
function GetStockDomofond(id) {
var url =
'
https://www.domofond.ru/tseny-na-nedvizhimost/permskiy_kray/perm/sverdlovskiy-d219';
var html = UrlFetchApp.fetch(url,{muteHttpExceptions: true});
Logger.log("GetStockDomofond. getResponseCode = " +
html.getResponseCode());
if (html.getResponseCode() == 307) {
Logger.log("GetStockDomofond. Ошибка: " + html.getContentText() );
return ""
}
html = html.getContentText();
var date = new Date();
var mt = date.getMonth(); //текущий месяц
if (mt < 2) {
var currentY = date.getYear() - 1;
mt = 11 - mt-1; //текущий месяц минус два (сайт обновляется с
задержкой)
} else {
var currentY = date.getYear();
mt = mt-2;
}
var months = ["янв", "фев", "мар", "апр", "май", "июн", "июл",
"авг", "сен", "окт", "ноя", "дек"];
var currentD = months[mt];
var currentY = currentY.toString().substr(-2);
var searchstring = currentD + '.' + currentY;
Logger.log("GetStockDomofond. searchstring = " + searchstring);
var index =
html.search(searchstring);
if (index >= 0) {
var pos = index + searchstring.length
var rate = html.substring(pos, pos + 28);
var regExp = new RegExp("((\\d+|\\d{1,3}(?:[,]\\d{3})).\\d+)");
var rate = regExp.exec(rate)[1];
rate = +rate;
Logger.log("GetStockDomofond. ID = " + id + ".\nPrice = " +
rate + ". URL: " + url);
return rate
}
Logger.log("GetStockDomofond. ID = " + id + ".\nPrice = нет данных.
URL: " + url + ". HTML:\n" + html);
return ""
}