Очистить несколько сайтов на основе JavaScript в R - PullRequest
0 голосов
/ 23 ноября 2018

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

Сейчас я пытаюсь сохранить несколько целых страниц JavaScript для дальнейшей работы с ними в RНасколько я понял, это просто возможно с помощью фантомов.Мне удалось получить код загрузки страницы.Но я борюсь с циклом:

       writeLines("var page = new WebPage();
       var fs = require('fs');


       for (i = 101; i <= 150; i++) {
       page.open('http://understat.com/match/' + i, function (status) {
               just_wait();
       });


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

       js_scrape <- function(
                  js_path = "scrape.js", 
                  phantompath = "/Users/Marek/Documents/Programmierung/Startversuche/phantomjs-2.1.1/bin/phantomjs"){

                    lines <- readLines(js_path)
                    command = paste(phantompath, js_path, sep = " ")
                    system(command)

                  }

       js_scrape()

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

...