Есть ли какой-либо способ просмотреть имена сетевых запросов веб-сайта с помощью скриптов Google apps?

#google-apps-script

Вопрос:

Итак, вот что я пытаюсь сделать:

Есть сайт под названием Тора в любое время (https://www.torahanytime.com/), который ежедневно публикует аудиофайлы (я думаю, вы можете назвать их подкастами, веб-сайт называет их шиурим, шиур на иврите означает песню или, в данном случае, аудио). Я хотел бы создать скрипт, который загружает аудио определенных динамиков, а затем отправляет эти файлы мне по электронной почте. Я делаю это с помощью сценариев Google Apps. Тора В любое время позволяет вам следить за конкретными ораторами и получать уведомления по электронной почте, когда оратор, за которым вы следите, выпускает новый подкаст. Вот код, который у меня есть до сих пор:

 function main() {
  var emails = getemails();
  for (var i = 0; i < emails.length; i  ) {
      var email = emails[i].getMessages();
      if (email[0].getFrom() == "TorahAnytime Following <following@torahanytime.com>"){
      var title = getTitle(email);
      var shiurID = getShiurID(email);
      var downloadLink = "https://dl.torahanytime.com/audio/"   shiurID;
      var shiur = downloadShiur(downloadLink);
      shiur.setName(title);
      var emailSent = emailShiur(shiur);
      if (emailSent) {email[0].moveToTrash();
      Logger.log("Email moved to Trash");}
      }
  }
}

function getemails() {
  var label = GmailApp.getUserLabelByName("TA Speeches");
      return label.getThreads();      
}

function getTitle(email) {     
  body = email[0].getPlainBody();
  var begIndex = body.indexOf("from")   4;
  var endIndex = body.indexOf("on ");
  var title = body.substring(begIndex, endIndex).toLowerCase().replaceAll(" ", "-").replace(/(rn|n|r)/gm, "-");
  begIndex = body.indexOf("called ")   7;
  endIndex = body.indexOf(" [");
  title  = "-"   body.substring(begIndex, endIndex).toLowerCase().replaceAll(" ", "-").replace(/(rn|n|r)/gm, "-")   ".mp3";
  return title;
}

function getShiurID(email) {
body = email[0].getPlainBody();
var begIndex = body.indexOf("[")   1;
var endIndex = body.indexOf("]");
var link = body.substring(begIndex, endIndex).replaceAll("?v", "?a");
console.log(link);
var mainLink = UrlFetchApp.fetch(link);
//here I somehow need to get the link being used to stream that particular audio file
}

function getIDName(email) {
body = email[0].getPlainBody();
var begIndex = body.indexOf("ID ")   3;
var endIndex = body.indexOf(" and");
return body.substring(begIndex, endIndex);
}

function downloadShiur(downloadLink) {
  var audio = UrlFetchApp.fetch(downloadLink); 
  return audio.getBlob().getAs('audio/mp3');
}

function emailShiur(shiur) {
const maxFileSize = 26214400;
if (shiur.getBytes().length <= maxFileSize) {
MailApp.sendEmail("[Email addressed removed]", "TA Shiur (File)", "Enjoy!", {
     attachments: [shiur],
     name: 'Automatic Emailer Script'
 });
 return true;
} else {
  MailApp.sendEmail("[Email addressed removed]", "TA Shiur (File)", "Error, File too large to email", {
     name: 'Automatic Emailer Script'
 });
 return false;
}
}
 

Моя проблема в том, что URL-адрес для загрузки файла отсутствует в HTML, поэтому я не знаю, как добраться до него с помощью ГАЗА. Если вы используете инструменты разработки chrome, вы можете увидеть URL-адрес прямо там, на вкладке сеть, Пример вывода, который я вижу, который я хочу получить. Кто-нибудь знает какой-либо способ, которым я могу получить информацию, которую я вижу на вкладке «Сетевые средства разработки chrome» (название получаемых URL-адресов), используя GAS? Спасибо!

Комментарии:

1. К сожалению, из My issue is that the URL to download the file is not in the HTML, so I don't know how to get to it using GAS. If you use chrome's dev-tools, you can see the URL right there in the network tab. , я не могу понять вашу текущую проблему и вашу цель. Я приношу извинения за мое плохое знание английского языка. Чтобы правильно понять их, можете ли вы предоставить примерное входное значение и примерное выходное значение, которые вы ожидаете?

2. Входное значение: torahanytime.com/#/lectures?a=162956 Выходное значение: Имена URL-адресов, которые вы видите на прикрепленной картинке в моем посте

3. Спасибо вам за ответ и предоставление дополнительной информации. Я подумал, что ожидаемое значение может быть сгенерировано с помощью Javascript. Если я правильно понимаю, к сожалению, я думаю, что трудно напрямую извлечь значение из URL-адреса. Я приношу свои извинения за это.

4. Да, сетевой монитор вашего браузера совершает звонки после загрузки страницы. Возможно, вы сможете посмотреть, получает ли какой-либо из JS-файлов страницы этот URL-адрес.

5. Они действительно звонят после загрузки страницы, и я могу видеть, какой URL они используют. Моя проблема в том, что каждый новый подкаст транслируется с другого URL-адреса, я хочу иметь возможность автоматически получать этот URL-адрес с помощью моего сценария.