Я работаю в R
, но у меня есть небольшой скрипт Phantom JS
который открывает и записывает веб-страницу в файл (scrape_webpages.js
). Мне нужно скачать много веб-страниц, названных в стандартном формате (например, http://webpage.net/2018
), где последняя часть (год) меняется. Сценарий Phantom JS
принимает два аргумента, которые должны различаться: путь для сохранения веб-страницы и адрес веб-страницы.
Теперь я знаю, как сделать цикл и выполнять итерации в течение ряда лет, которые мне нужны для генерации адресов и путей в R
И я могу запустить отдельный js
скрипт изнутри R
с помощью system
функции.
Но (как) я могу включить сценарий js
(с различными аргументами) в цикл R
? Кроме того, цикл может быть реализован в самом скрипте js
, но я не знаю, как это сделать.
Спасибо за вашу помощь.
(NB я не могу сделать то, что скрипт js
делает прямо в R
)
ОК, я решил это. Это что-то вроде хака, но все же может быть полезным для кого-то:
(1) Создайте js
для первого года, для которого должны быть загружены данные
(2) Запустите цикл, в котором вы:
(2a) прочитать файл js
за предыдущий год в виде строки с readChar
(2b) измените то, что должно быть изменено в этом файле как строку с помощью gsub
(2c) сохранить отредактированную строку как новый файл .js
с новым именем с writeLines
(3) Запустите новый цикл, выполняя каждый из этих js
файлов с помощью system
функции (этот последний шаг может быть интегрирован в предыдущий цикл, если это необходимо).
И, престо!
webshot
, который представляет собой интерфейс для PhantomJS API?webshot
но, похоже, неwebshot