Проблема с копированием ответов на данные из Quora - Вопросы работают нормально Apps Script - PullRequest
0 голосов
/ 04 марта 2020

У меня есть скрипт, который удаляет данные из Quora, когда вы вводите URL в листы Google. Он отлично работает при вводе URL-адреса вопроса, но ничего не заполняет автоматически при вводе URL-адреса ответа. Я использую скрипт приложения, и похоже, что ответы и вопросы используют один и тот же код. Кто-нибудь имеет опыт работы с этим и сможет помочь советом? Я предполагаю, что это будет связано с самим URL?

Ниже приведен код.

var response = (UrlFetchApp.fetch(url, options)).toString();
  //content
  var content =  stripHTMLTag(getWordBetween(response, '<title>',  '</title>')).replace("? - Quora", "").replace('&#039;', '');  
  if (response.indexOf("s answer to") > -1) {
    statRawHTML = getWordBetween(response, '>Upvote<',  'Add Comment'); //Browser.msgBox(response);
    //comments
    //commentCount = getStatFromHTML(statRawHTML, ' replies', '>');
    //share //impossible to view when not logged in
    retweetCount = response.substr(response.indexOf('AnswerFooter', response.indexOf('AnswerFooter') + 1) + 'AnswerFooter'.length, 200); 
    retweetCount = stripHTMLTag('<'+retweetCount).split(" ")[0]; 
    if (retweetCount.indexOf('.') > -1) { retweetCount = retweetCount.replace('.', ','); }
    if (retweetCount.indexOf(',') > -1) {
      retweetCount = retweetCount.replace('k', '00');
    } else {
      retweetCount = retweetCount.replace('k', '000');
    }
    //likes
    likeCount = response.substr(response.indexOf("'>View "), 50);
    likeCount = stripHTMLTag('<'+likeCount).split(" ")[1];
    if (likeCount.indexOf('.') > -1) { likeCount = likeCount.replace('.', ','); }
    if (likeCount.indexOf(',') > -1) {
      likeCount = likeCount.replace('k', '00');
    } else {
      likeCount = likeCount.replace('k', '000');
    }
  } else {
    postType = "Question" ;
    //answers
    commentCount = response.substr(response.indexOf("answer_count"), 50);
    commentCount = stripHTMLTag('<'+commentCount).split(" ")[0];
    if (commentCount.indexOf('.') > -1) { commentCount = commentCount.replace('.', ','); }
    if (commentCount.indexOf(',') > -1) {
      commentCount = commentCount.replace('k', '00');
    } else {
      commentCount = commentCount.replace('k', '000');
    }
  }

  if (commentCount == "") commentCount = "1";
  if (retweetCount == "") retweetCount = "1";
  if (likeCount == "") likeCount = "1";

  //date
  start = response.indexOf('>Answered') + '>Answered'.length + 1;
  date = stripHTMLTag(response.substr(start, 80));
...