Как запустить (изменяющийся) файл JavaScript в цикле в R?

1

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

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

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

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

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

  • 0
    Пытались ли вы пакет R webshot , который представляет собой интерфейс для PhantomJS API?
  • 0
    взглянул на webshot но, похоже, не webshot
Теги:
phantomjs

1 ответ

0

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

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

(2) Запустите цикл, в котором вы:

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

(2b) измените то, что должно быть изменено в этом файле как строку с помощью gsub

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

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

И, престо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню