eyl*_*yap 3 for-loop r web-scraping
我正在尝试使用R从网站下载PDF.
我有一个PDF-URL(pdfurls)的向量和一个目标文件名(目的地)的向量:
例如:
pdfurls <- c("http://website/name1.pdf", "http://website/name2.pdf")
destinations <- c("C:/username/name1.pdf", "C:/username/name2.pdf")
Run Code Online (Sandbox Code Playgroud)
我使用的代码是:
for(i in 1:length(urls)){
download.file(urls, destinations, mode="wb")}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行代码时,R访问URL,下载第一个PDF,并重复一遍又一遍地下载相同的PDF.
我已经读过这篇文章:for R on R函数,并想知道这是否与函数本身有关或者我的循环有问题吗?
代码类似于帖子:如何在R中使用循环下载多个文件?所以我想知道为什么它不工作,如果有更好的方法使用R下载多个文件
我认为你的循环大多很好,除了你忘了索引urls和destinations对象.
切线,我建议养成使用seq_along而不是1:length()定义for循环的习惯.
for(i in seq_along(urls)){
download.file(urls[i], destinations[i], mode="wb")
}
Run Code Online (Sandbox Code Playgroud)
或使用地图所建议@docendodiscimus:
Map(function(u, d) download.file(u, d, mode="wb"), urls, destinations)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7206 次 |
| 最近记录: |