2015-08-14 11 views
1

Я пытаюсь импортировать таблицу лидеров на странице pgatour.com/leaderboard.html или golf.com/leaderboard (извините, не могу разместить более двух ссылок, так как у меня есть < 10 репутации).Импорт таблицы javascript в таблицу Docs Google

Основываясь на моем research, кажется, что функции ImportXml IMPORTHTML & не могут получить данные, поскольку таблица на самом деле не существует в момент выполнения функции импорта, как и при загрузке таблицы/данные через JavaScript после функция читает html/xml страницы. Пример:

=IMPORTXML("http://www.golf.com/leaderboard","//*[@id='leaderboardPositionTable']") 
=IMPORTHTML("http://www.pgatour.com/leaderboard.html","table",1) 

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

Любая помощь будет высоко оценена. Спасибо

+0

Я знаю, как это сделать, но сейчас я нахожусь на своем телефоне. Если завтра никто не ответит, я вернусь к вам. –

+0

Любые удачи в тестировании решения, которое я разместил? Если это сработает для вас, обязательно примите мой ответ. Спасибо, –

+0

Джошуа, спасибо за вашу помощь и ответ. К сожалению, у меня еще не было возможности поработать над этим и применить ваше предложение. Мне также нужно будет выяснить, как записать информацию JSON в электронную таблицу. – Sponge

ответ

1

Изучив это, я думаю, вы должны принять следующий подход. Оказывается, таблица лидеров доступна как файл JSON. Я написал функцию, чтобы проверить импорт, и он работает хорошо.

function update_leaderboard(){ 
    var url = "http://www.pgatour.com/data/r/033/leaderboard-v2.json?ts=" + new Date().getTime() 
    var result = UrlFetchApp.fetch(url); 
    var response = result.getContentText(); 
    var data = JSON.parse(response); 
    var w = SpreadsheetApp.getActive(); 
    var s = w.getActiveSheet(); 
    s.clear(); 
    //Write the JSON to the spreadsheet... 
} 

Добившись этого, осталось только написать эту информацию в электронную таблицу.

+0

Можете ли вы принять этот ответ? –

Смежные вопросы