我在一个名为的文件中有一个列表URL urls.txt.每行包含1个URL.我想使用cURL一次下载所有文件.我似乎无法获得正确的单线下降.
我试过了:
$ cat urls.txt | xargs -0 curl -O
Run Code Online (Sandbox Code Playgroud)
但这只给了我列表中的最后一个文件.
我用 R 编写了一个小型下载器,以便一次运行从远程服务器下载一些日志文件:
file_remote <- fun_to_list_URLs()
file_local <- fun_to_gen_local_paths()
credentials <- "usr/pwd"
downloader <- function(file_remote, file_local, credentials) {
data_bin <- RCurl::getBinaryURL(
file_remote,
userpwd = credentials,
ftp.use.epsv = FALSE,
forbid.reuse = TRUE
)
writeBin(data_bin, file_local)
}
purrr::walk2(
file_remote,
file_local,
~ downloader(
file_remote = .x,
file_local = .y,
credentials = credentials
)
)
Run Code Online (Sandbox Code Playgroud)
这可行,但速度很慢,尤其是与 WinSCP 等一些 FTP 客户端相比,下载 64 个日志文件,每个 2kb,需要几分钟。
R中有没有更快的方法来下载大量文件?