скептически отслеживает, как очистить данные с этого сайта (используя R)

Я пытаюсь очистить данные, используя R, с этого сайта: http://www.soccer24.com/kosovo/superliga/results/#

Я могу сделать следующее:

library(rvest) doc <- html("http://www.soccer24.com/kosovo/superliga/results/") 

но я в тупике о том, как быстро перейти к данным. Это связано с тем, что фактические данные на веб-сайте, по-видимому, генерируются Javascript. Что я могу сделать, это

 html_text(doc) 

но это дает длинный размытие странного текста (который включает данные, но вкрапленные с нечетным кодом, и совсем не ясно, как я буду разбирать это.

Я хочу извлечь данные матча (дата, время, команды, результат) для всех совпадений. Никаких других данных с этого сайта не требуется.

Может ли кто-нибудь дать некоторые подсказки относительно того, как извлечь эти данные с этого сайта?

Использование Selenium с phantomjs

 library(RSelenium) pJS <- phantom() remDr <- remoteDriver(browserName = "phantomjs") appURL <- "http://www.soccer24.com/kosovo/superliga/results/#" remDr$open() remDr$navigate(appURL) 

если вы хотите нажать кнопку данных больше, пока она не будет видна (все совпадения предполагаются):

 webElem <- remDr$findElement("css", "#tournament-page-results-more a") while(webElem$isElementDisplayed()[[1]]){ webElem$clickElement() Sys.sleep(5) webElem <- remDr$findElement("css", "#tournament-page-results-more a") } doc <- htmlParse(remDr$getPageSource()[[1]]) в webElem <- remDr$findElement("css", "#tournament-page-results-more a") while(webElem$isElementDisplayed()[[1]]){ webElem$clickElement() Sys.sleep(5) webElem <- remDr$findElement("css", "#tournament-page-results-more a") } doc <- htmlParse(remDr$getPageSource()[[1]]) 

Удалите ненужные данные раунда и используйте XML::readHTMLTable для простоты

 # remove unwanted rounds html. Sometimes there are end of season extra games. # These are presented in a seperate table. invisible(doc["//table/*/tr[@class='event_round']", fun = removeNodes]) appData <- readHTMLTable(doc, which = seq(length(doc["//table"])-1), stringsAsFactors = FALSE, trim = TRUE) if(!is.data.frame(appData)){appData <- do.call(rbind, appData)} row.names(appData) <- NULL names(appData) <- c("blank", "Date", "hteam", "ateam", "score") pJS$stop() > head(appData) blank Date hteam ateam score 1 01.04. 18:00 Ferronikeli Ferizaj 4 : 0 2 01.04. 18:00 Istogu Hajvalia 2 : 1 3 01.04. 18:00 Kosova Vushtrri Trepca Mitrovice 1 : 0 4 01.04. 18:00 Prishtina Drenica 3 : 0 5 31.03. 18:00 Besa Peje Drita 1 : 0 6 31.03. 18:00 Trepca 89 Vellaznimi 2 : 0 > tail(appData) blank Date hteam ateam score 115 17.08. 22:00 Besa Peje Trepca 89 3 : 3 116 17.08. 22:00 Ferronikeli Hajvalia 2 : 5 117 17.08. 22:00 Trepca Mitrovice Ferizaj 1 : 0 118 17.08. 22:00 Vellaznimi Drenica 2 : 1 119 16.08. 22:00 Kosova Vushtrri Drita 0 : 1 120 16.08. 22:00 Prishtina Istogu 2 : 1 

при необходимости выполните дальнейшее форматирование.

  • Извлечение данных с карты
  • JSON-LD Schema.org: несколько страниц видео / изображений
  • Веб-скребок с VBA (при HTML DOM)
  • Получить веб-страницу, включая контент AJAX
  • R: извлечение «чистого» текста UTF-8 с веб-страницы, очищенной с помощью RCurl
  • Как загрузить Google Doodle для использования в автономном режиме?
  • Последствия использования ноутбука всегда в качестве сервера
  • Программное обеспечение для очистки экрана, которое будет перемещаться по страницам
  • Как подключиться через HTTPS с помощью Jsoup?
  • Онлайн-клиент HTTP
  • Jsoup Cookies для очистки HTTPS
  • Давайте будем гением компьютера.