Как запустить (изменяющийся) файл JavaScript в цикле в R? - PullRequest
1 голос
/ 27 марта 2019

Я работаю в R, но у меня есть небольшой скрипт Phantom JS, который открывает и записывает веб-страницу в файл (scrape_webpages.js). Мне нужно скачать множество веб-страниц, названных в стандартном формате (т.е. http://webpage.net/2018), где последняя часть (год) меняется. Сценарий Phantom JS принимает два аргумента, которые должны варьироваться: путь для сохранения веб-страницы и адрес веб-страницы.

Теперь я знаю, как сделать цикл и выполнять итерации в течение ряда лет, которые мне нужны для генерации адресов и путей в R. И я могу запустить отдельный js скрипт из R с помощью функции system.

Но (как) можно ли включить сценарий js (с различными аргументами) в цикл R? Кроме того, цикл может быть реализован в самом скрипте js, но я не знаю, как это сделать.

Спасибо за вашу помощь.

(Нет. Я не могу сделать то, что скрипт js делает непосредственно в R)

1 Ответ

0 голосов
/ 27 марта 2019

ОК, я решил это.Это что-то вроде хака, но все же может пригодиться кому-то:

(1) Создайте js для первого года, для которого необходимо загрузить данные

(2) Пускцикл, в котором вы:

(2a) читаете файл js за предыдущий год в виде строки с readChar

(2b), что необходимо изменить в этом файле-as-a-string с gsub

(2c) сохранить отредактированную строку как новый файл .js с новым именем с writeLines

(3) Создать новыйцикл выполнения каждого из этих js файлов с функцией system (этот последний шаг может быть интегрирован в предыдущий цикл при желании).

И, presto!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...