Указание User Agent в скриптах Google Docs

403
13 января 2017, 11:01

Пытаюсь вытащить данные с сайта, используя скрипты Google Docs. Цель: заполнение таблицы. Проблема в том, что сайт требует указания User Agent, без этого не отдаёт данные. Судя по всему скрипты гуглодокумента не поддерживают этой фунции, но надежда не умирает, может всё-таки можно что-то сделать?

    function getContent(){
  getPageContent("http://site.ru/ar.html")
}
function getPageContent(url) {
  var sheet = SpreadsheetApp.openById("FjvNgoTP3hWMVSgkfbYkerK4WjMPJ77m9YUgXCwaDs");
  var sheetname = sheet.getSheetByName('data');
  var range = sheetname.getRange("D5:P56");
  var cell = range.getCell(1,1);
  var j;
  for(j = 0; j < 56; j++){
  if (cell.getValues() != ""){
    cell = range.getCell(j+1,1);
  }
  }
  var response = UrlFetchApp.fetch(url, {headers: {"User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"}}).getContentText();
  var start, end, name;
  var i;
  for(i = 0; i < 4; i++){
    start = response.indexOf(': ', end) + 2;
    end = response.indexOf(' <br>', start);
    name = response.substring(start, end);
  cell.setValue(name);
  cell = cell.offset(0,4);
  }
}
Answer 1

К большому сожалению, это невозможно. https://code.google.com/p/google-apps-script-issues/issues/detail?id=2544
Единственный вариант, который я вижу - сделать скрипт - прокси на внешнем хосте, который на вход будет принимать url, и возвращать данные.

READ ALSO
Парсер реквестов

Парсер реквестов

Считать URL ссылку с консоли, вывести на экран список всех параметровПараметры идут после ? и разделяются &

386
Не запоминается значение в localStorage

Не запоминается значение в localStorage

Код предназначен для выбора css файла для сайтаПочему не запоминается выбор стиля и нет возможности применить стиль повторно, т

317
План изучения Битрикс [требует правки]

План изучения Битрикс [требует правки]

Подскажите, пожалуйста, как правильнее начать изучать CMS Битрикс?

311