Download a file from HTTPS using download.file()

后端 未结 9 1587
庸人自扰
庸人自扰 2020-11-28 07:38

I would like to read online data to R using download.file() as shown below.

URL <- \"https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fs         


        
相关标签:
9条回答
  • 2020-11-28 07:56

    127 means command not found

    In your case, curl command was not found. Therefore it means, curl was not found.

    You need to install/reinstall CURL. That's all. Get latest version for your OS from http://curl.haxx.se/download.html

    Close RStudio before installation.

    0 讨论(0)
  • 2020-11-28 07:57

    It might be easiest to try the RCurl package. Install the package and try the following:

    # install.packages("RCurl")
    library(RCurl)
    URL <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fss06hid.csv"
    x <- getURL(URL)
    ## Or 
    ## x <- getURL(URL, ssl.verifypeer = FALSE)
    out <- read.csv(textConnection(x))
    head(out[1:6])
    #   RT SERIALNO DIVISION PUMA REGION ST
    # 1  H      186        8  700      4 16
    # 2  H      306        8  700      4 16
    # 3  H      395        8  100      4 16
    # 4  H      506        8  700      4 16
    # 5  H      835        8  800      4 16
    # 6  H      989        8  700      4 16
    dim(out)
    # [1] 6496  188
    
    download.file("https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fss06hid.csv",destfile="reviews.csv",method="libcurl")
    
    0 讨论(0)
  • 2020-11-28 07:57

    Try following with heavy files

    library(data.table)
    URL <- "http://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fss06hid.csv"
    x <- fread(URL)
    
    0 讨论(0)
  • 2020-11-28 08:03

    If using RCurl you get an SSL error on the GetURL() function then set these options before GetURL(). This will set the CurlSSL settings globally.

    The extended code:

    install.packages("RCurl")
    library(RCurl)
    options(RCurlOptions = list(cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))   
    URL <- "https://d396qusza40orc.cloudfront.net/getdata%2Fdata%2Fss06hid.csv"
    x <- getURL(URL)
    

    Worked for me on Windows 7 64-bit using R3.1.0!

    0 讨论(0)
  • 2020-11-28 08:05

    Had exactly the same problem as UseR (original question), I'm also using windows 7. I tried all proposed solutions and they didn't work.

    I resolved the problem doing as follows:

    1. Using RStudio instead of R console.

    2. Actualising the version of R (from 3.1.0 to 3.1.1) so that the library RCurl runs OK on it. (I'm using now R3.1.1 32bit although my system is 64bit).

    3. I typed the URL address as https (secure connection) and with / instead of backslashes \\.

    4. Setting method = "auto".

    It works for me now. You should see the message:

    Content type 'text/csv; charset=utf-8' length 9294 bytes
    opened URL
    downloaded 9294 by
    
    0 讨论(0)
  • 2020-11-28 08:09

    Here's an update as of Nov 2014. I find that setting method='curl' did the trick for me (while method='auto', does not).

    For example:

    # does not work
    download.file(url='https://s3.amazonaws.com/tripdata/201307-citibike-tripdata.zip',
                  destfile='localfile.zip')
    
    # does not work. this appears to be the default anyway
    download.file(url='https://s3.amazonaws.com/tripdata/201307-citibike-tripdata.zip',
                  destfile='localfile.zip', method='auto')
    
    # works!
    download.file(url='https://s3.amazonaws.com/tripdata/201307-citibike-tripdata.zip',
                  destfile='localfile.zip', method='curl')
    
    0 讨论(0)
提交回复
热议问题