Выскабливание javascript сайта в R


Я хочу соскрести время и дату матча с этого url:

Http://www.scoreboard.com/game/rosol-l-goffin-d-2014/8drhX07d/#game-summary

Используя инструменты Chrome dev, я вижу, что это создается с помощью следующего кода:

<td colspan="3" id="utime" class="mstat-date">01:20 AM, October 29, 2014</td>

Но этого нет в исходном html.

Я думаю, что это потому, что его java (поправьте меня, если я ошибаюсь). Как я могу очистить эту информацию, используя R?

1 3

1 ответ:

Таким образом, Рселениум-не единственный ответ (больше). Если вы можете установить двоичный файл PhantomJS (возьмите двоичные файлы phantomjs отсюда: http://phantomjs.org/) Затем вы можете использовать его для визуализации HTML и очистить его с помощью rvest (аналогично подходу RSelenium, но не требует java):

library(rvest)

# render HTML from the site with phantomjs

url <- "http://www.scoreboard.com/game/rosol-l-goffin-d-2014/8drhX07d/#game-summary"

writeLines(sprintf("var page = require('webpage').create();
page.open('%s', function () {
    console.log(page.content); //page source
    phantom.exit();
});", url), con="scrape.js")

system("phantomjs scrape.js > scrape.html", intern = T)

# extract the content you need
pg <- html("scrape.html")
pg %>% html_nodes("#utime") %>% html_text()

## [1] "10:20 AM, October 28, 2014"