【问题标题】:Error in download.file : scheme not supporteddownload.file 中的错误:不支持方案
【发布时间】:2017-06-26 15:55:07
【问题描述】:

我需要从“http://www.elections.state.md.us”下载一些 csv 文件。

这是我的代码。

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(folder, "/", 文件名)):URL 'www.elections.state.md.us/elections/2012/election_data/State_Congressional_Districts_2012_General.csv' 中不支持方案

但是,当我尝试将 url 粘贴到 IE 中时,它确实有效。那么我的代码有什么问题呢?

任何想法都会有所帮助,谢谢。

【问题讨论】:

    标签: r url plyr


    【解决方案1】:

    事实证明,url 必须以 http://、https://、ftp:// 或 file:// 等方案开头。所以在最后一行,我把代码改成了

    l_ply(filenames_list,downloadcsv,
          baseurl = "http://www.elections.state.md.us/elections/2012/election_data/",
          folder = "elec12_maryland")
    

    而且它有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多