我需要从“下载一些 csv 文件http://www.elections.state.md.us http://www.elections.state.md.us".
这是我的代码。
url <- "http://www.elections.state.md.us/elections/2012/election_data/index.html"
# recognize the links
links <- getHTMLLinks(url)
filenames <- links[str_detect(links,"_General.csv")]
filenames_list <- as.list(filenames)
filenames
# create a function
downloadcsv <- function(filename,baseurl,folder){
dir.create(folder,showWarnings = FALSE)
fileurl <- str_c(baseurl,filename)
if(!file.exists(str_c(folder,"/",filename))){
download.file(fileurl,
destfile = str_c(folder,"/",filename))
# 1 sec delay between files
Sys.sleep(1)
}
}
library(plyr)
l_ply(filenames_list,downloadcsv,
baseurl = "www.elections.state.md.us/elections/2012/election_data/",
folder = "elec12_maryland")
错误结果如下:
download.file 中的错误(fileurl,destfile = str_c(文件夹,“/”,
文件名)):URL“www.elections.state.md.us/elections/2012/election_data/State_Congressional_Districts_2012_General.csv”不支持方案
然而,当我尝试将网址粘贴到 IE 中时,它确实起作用了。那么我的代码有什么问题呢?
任何想法都会有帮助,谢谢。
事实证明,url 必须以 http://、https://、ftp:// 或 file:// 等方案开头。所以在最后一行,我将代码更改为
l_ply(filenames_list,downloadcsv,
baseurl = "http://www.elections.state.md.us/elections/2012/election_data/",
folder = "elec12_maryland")
它有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)