Как я могу проанализировать HTML-код URL и вставить данные в Google Sheet с помощью Google Script? - PullRequest
0 голосов
/ 08 декабря 2018

Я совершенно новичок в Google Apps Script и JavaScript.

Я просто хотел:

  1. Прочитать столбец A и выполнить запрос URL.
  2. Разобрать HTML-код URL, чтобы получить title и num count.
  3. Записать title в столбец B и num count в столбец C .

Вот мой код:

function getHtml()
{
    var sheet = SpreadsheetApp.getActiveSheet();
    var data = sheet.getDataRange().getValues();
    var url_range = sheet.getRange('A1:A').getValue();
    var response = UrlFetchApp.fetch(url);
    var content = response.getContentText("UTF-8"); 

    var title = new Array();
    var num_count = new Array();

    for (var i = 1; i < data.length; i++) {
        title = content.match(/<title>(.*?)<\/title>/);
        num_count = content.match(/<span class="num_count">(.*?)<\/span>/);
    }

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet1 = ss.getSheetByName("sheet1");

    for (var i = 1; i < data.length; i++) {
        sheet1.getRange(i,2).setValue(title[i]);
        sheet1.getRange(i,3).setValue(num_count[i]);
    }
}

Но я получаю только следующий результат:

enter image description here

Пожалуйста, скажите мне, что я должен улучшить.

1 Ответ

0 голосов
/ 08 декабря 2018

Предполагая, что ваш соскоб работает, я думаю, это довольно близко к тому, что вам требуется.

function getHtml()
{
  var ss=SpreadsheetApp.getActive();
  var sheet=ss.getActiveSheet();
  var range=sheet.getRange(1,1,sheet.getLastRow(),3);                 
  var data=range.getValues();
  for(var i=0;i<data.length;i++){
    var response = UrlFetchApp.fetch(data[i][0]);
    var content = response.getContentText("UTF-8"); 
    data[i][1]=content.match(/<title>(.*?)<\/title>/);
    data[i][2]=content.match(/<span class="num_count">(.*?)<\/span>/);
  }
  rg.setValues(data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...