Выскабливание javascript сайтов с использованием r - PullRequest
0 голосов
/ 03 мая 2020

В настоящее время я пытаюсь очистить записи воспроизведения по следующей ссылке: https://www.basket.fi/basketball-finland/competitions/game/?game_id=4677793&season_id=110531&league_id=4

Я использовал SelectorGadget для определения CSS селекторов и в итоге получил '// тд. Однако, когда я пытаюсь очистить данные, используя это, html_nodes () возвращает пустой список, и, следовательно, следующий код возвращает ошибку.

Оказывается, страница загружена с javascript, вызывающим ошибку. В результате я преобразовал страницу в файл html со следующим кодом:

writeLines("var url = 'https://www.basket.fi/basketball-finland/competitions/game/?game_id=4677793&season_id=110531&league_id=4';
var page = new WebPage();
var fs = require('fs');

page.open(url, function (status) {
        just_wait();
});

function just_wait() {
    setTimeout(function() {
               fs.write('1.html', page.content, 'w');
            phantom.exit();
    }, 2500);
}
", con = "scrape.js")

js_scrape <- function(url = "https://www.basket.fi/basketball-finland/competitions/game/?game_id=4677793&season_id=110531&league_id=4", 
                      js_path = "scrape.js", 
                      phantompath = "/Users/pietervantol/SwissBasketballLeague/phantomjs-2.1.1-macosx/bin/phantomjs"){

  lines <- readLines(js_path)
  lines[1] <- paste0("var url ='", url1 ,"';")
  writeLines(lines, js_path)

  command = paste(phantompath, js_path, sep = " ")
  system(command)

}
js_scrape()

В результате был получен файл html под названием "1. html", который я затем попытался очистите еще раз:

html_page <- read_html("1.html")
playbyplay_html <- html_nodes(html_page,'td')

play_by_play <- html_text(playbyplay_html)
play_by_play

Он по-прежнему возвращает бесполезный список. Как я мог решить эту проблему?

Заранее спасибо

...