【问题标题】:downloading csv file works via libcurl yet does not via curl method通过 libcurl 下载 csv 文件,但不通过 curl 方法
【发布时间】:2019-07-24 20:03:42
【问题描述】:

操作系统:Win 7 64 位 RStudio 版本 1.1.463

根据获取和清理数据课程,我尝试使用 method = curl 下载 csv 文件:

fileUrl <- "https://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD"
download.file(fileUrl, destfile = "./cameras.csv", method = "curl") 

download.file 中的错误(fileUrl, destfile = "./cameras.csv", method = "curl") : 'curl' 调用具有非零退出状态

但是,method = libcurl 导致下载成功:

download.file(fileUrl, destfile = "./cameras.csv", method = "libcurl")

尝试网址 'https://data.baltimorecity.gov/api/views/dz54-2aru/rows.csv?accessType=DOWNLOAD' 已下载 9443 字节

从 *http***s** 更改为 http 分别对 curllibcurl 产生完全相同的结果。

是否可以按照课程通过method = curl 进行下载?

谢谢

【问题讨论】:

    标签: r curl download libcurl


    【解决方案1】:

    ?download.file可以看到:

    对于“wget”和“curl”方法,对给定工具进行系统调用 通过方法,并且必须在您的系统上安装相应的程序 并在可执行文件的搜索路径中。他们将阻止所有其他 R 进程上的活动,直到它们完成:这可能会生成一个 GUI 没有反应。

    因此,您应该先安装curl。 请参阅此How do I install and use curl on Windows? 了解如何操作。 最好的!

    【讨论】:

      【解决方案2】:

      我认为这里存在一些问题: 按照@JonnyCrunch 引用的链接中的步骤进行操作

      a) 为 windows 重新安装 Git;

      b) 将 C:\Program Files\Git\mingw64\bin\ 添加到 'PATH' 变量中;

      c) 在 RStudio 中禁用使用 Internet Explorer 库/代理 HTTP:工具 > 选项 > 包

      d) 尝试了下面“e)”中的步骤并添加了data.baltimorecity.gov 网站排除根据卡巴斯基反病毒提示;

      e) 然后在 RStudio 中:

      options(download.file.method = "curl")
      
      download.file(fileUrl, destfile="./data/cameras.csv")
      

      成功了!

      谢谢

      【讨论】:

      • 你为什么要这么麻烦?拥有不同下载选项的意义在于,如果其中一个不起作用,您可以尝试另一个。既然method="libcurl"工作了,你的问题就在那里解决了
      • 试图让 'curl' 方法按照课程中的规范工作并找出根本原因。从一种方法跳转到另一种方法,使用“http”,而不是像其他类似帖子中的“https”,并不能解决实际问题。
      • “从一种方法跳转到另一种方法”解决了下载文件的实际问题
      • “从一种方法跳到另一种方法”没有解决遵循课程说明的问题,也没有让“curl”方法在我的环境中工作。如果没有使用它自己的优势,就不会有“curl”方法或任何其他任何其他下载方法,对吧?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-18
      • 2023-03-29
      相关资源
      最近更新 更多