如何在R中的循环中运行(更改中的)JavaScript文件?

时间:2019-03-27 16:44:33

标签: javascript r phantomjs

我正在R中工作,但是我有一个小的Phantom JS脚本可以打开并将网页写入文件(scrape_webpages.js)。我需要下载许多以标准格式(即http://webpage.net/2018)命名的网页,其中最后一部分(年份)有所不同。 Phantom JS脚本采用两个需要改变的参数:保存网页的路径和网页地址。

现在,我知道如何进行循环并遍历需要在R中生成地址和路径的年份。而且我可以使用js函数从R内部运行一个单独的system脚本。

但是(如何)我可以在js循环中包含R(具有不同的参数)脚本?或者,可以在js脚本本身中实现循环,但是我不知道该怎么做。

感谢您的帮助。

(注:我无法直接在js中执行R脚本的操作)

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。这有点骇人听闻,但对某些人可能仍然有用:

(1)为要下载数据的第一年创建js

(2)开始一个循环,其中您:

(2a)使用js作为字符串读取上一年的readChar文件

(2b)使用gsub更改此字符串文件中需要更改的内容

(2c)将已编辑的字符串另存为新的.js文件,名为writeLines

(3)使用js函数开始执行这些system文件中的每个文件的新循环(如果需要,可以将最后一步集成到上一个循环中。)

然后,保存!