wget选项直接输出到R

Yod*_*oda 3 r wget

我有一个wget_string和命令如下:

wget_string <- paste("wget --user=" , u_name , " --password=", p_word,     " ", my_urls,' -qO ', file_name,   sep="")
 system(wget_string)
 readLines(file_name)
Run Code Online (Sandbox Code Playgroud)

哪个有效,但后来我必须使用readLines()将文件读入R.我想运行该命令,以便该文件直接在R中可用,而不保存到硬盘然后从中加载.

我希望通过从Web上直接将文件加载到R来节省资源.由于安全服务器,无法从头开始使用readlines.有什么选择?

Spa*_*man 14

函数具有的intern=TRUE参数system.从命令中捕获输出.使用force和right选项wget打印到stdout:

> wget_string="wget -qO- http://www.google.com"
> s = system(wget_string,intern=TRUE)
Run Code Online (Sandbox Code Playgroud)

如果您返回的数据是CSV文件,textConnection您可以使用,将其提供给read.csv您.


Atr*_*opo 5

如果使用-O -选项,wget则将输出设置为standar output(直接在屏幕上书写).通过这种方式,您可以直接从wget命令的输出中读取.

例如

 wget -O - http: //www.address.com
Run Code Online (Sandbox Code Playgroud)

将下载网页并将其直接打印到standard output.所以你可以直接读取输出system(wget_string).

wget手册页:

-O file --output-document = file文档不会写入相应的文件,但所有文件将连接在一起并写入文件. 如果 - 用作文件,文档将打印到标准输出,禁用链接转换.(使用./-打印到名为 - 的文件.)