Несколько недель назад я начал изучать Javascript и Google Apps Script API, особенно в отношении электронных таблиц. Я пытался создать электронную таблицу, которая извлекает веб-страницы и собирает статистику о моих друзьях для игры League of Legends. Тем не менее, у меня возникла проблема с сайтом, который я хочу использовать, который, по сути, является единственным бесплатным сайтом статистики LoL, который часто обновляется. Я вообще не знаком с веб-разработкой, но кажется, когда я пытаюсь получить доступ к странице на lolking.net, например, http://www.lolking.net/summoner/na/60783 с помощью Google UrlFetchApp.fetch() не загружает динамическую страницу. Поэтому вместо окончательного источника я получаю это, что мне не помогает. Есть ли простой способ обойти это или мне просто придется использовать другой веб-сайт?
Невозможно увидеть полностью очищенную веб-страницу в журналах скриптов Google Apps.
Ответы (2)
Спасибо за информацию! Хотя оказывается я ошибся. Приложение UrlFetchApp действительно возвращало полный исходный код, но я использовал регистратор GAS для просмотра текста. Похоже, у Logger есть ограничение по длине, поэтому, когда я искал статистику, которую хотел, ее не было просто потому, что исходный код был усечен. Так что из-за моей оплошности у меня никогда не было проблем. Для других людей, читающих этот вопрос, в конце концов я понятия не имею, как UrlFetchApp работает с динамическими страницами с использованием js на стороне клиента (вы, вероятно, захотите поговорить с автором ниже или опубликовать новый вопрос).
Вы получаете необработанную html-страницу с включенным js на стороне клиента. Это не сработает ни от какой системы, не только от газа. Вам нужно отладить эту страницу js и найти, где она выполняет вызов ajax, чтобы получить нужные данные. Затем сделайте то же самое с вашим газом. Может не работать, если вызов аутентифицирован и т. д.