【问题标题】:R: Downloading a .csv from a websiteR:从网站下载 .csv
【发布时间】:2016-08-30 15:10:51
【问题描述】:

我正在尝试让 R 自动将 .csv 文件从 FanGraphs 下载到本地目录。要手动执行此操作,我必须单击“导出数据”链接,从而调用 javascript 来下载 .csv 文件。我以前用过 Rvest,但我不确定如何完成这个任务。 .csv 文件在手动下载后非常有序。

这是链接:

url <- "http://www.fangraphs.com/leaders.aspx?pos=all&stats=bat&lg=all&qual=y&type=8&season=2016&month=0&season1=2016&ind=0"

这里是下载链接:

href="javascript:__doPostBack('LeaderBoard1$cmdCSV','')"

我很难过,如果有任何帮助,我将不胜感激!提前谢谢你。

【问题讨论】:

    标签: javascript r download href export-to-csv


    【解决方案1】:

    要从 R 中的 HTTP 源加载数据,请使用:

    con <- url("http://www.ic.unicamp.br/~zanoni/cepagri/cepagri.csv") 
    cpa <- read.csv(con)  
    

    我尝试了您的 URL,但我得到了 404 Not Found:

    u <- "http://www.fangraphs.com/leaders.aspxpos=all&stats=bat&lg=all&qual=y&type=15&season=2016&month=0&season1=2016&ind=0&team=0&rost=0&age=0&filter=&players=0"
    
    con <- url(u) 
    cpa <- read.csv(con)  
    
    
    Error in open.connection(file, "rt") : cannot open the connection
    In addition: Warning message:
    In open.connection(file, "rt") :
      cannot open URL     'http://www.fangraphs.com/leaders.aspxpos=all&stats=bat&lg=all&qual=y&type=15&season=2016&month=0&season1=2016&ind=0&team=0&rost=0&age=0&filter=&players=0': HTTP status was '404 Not Found'
    

    【讨论】:

    • 该链接是一个包含大量数据的 html 页面,但没有格式化为直接读取为 .csv 格式。单击“导出数据”链接会执行 javascript 以生成 .csv 文件以供下载。当我将光标放在“导出数据”链接上时,链接是href="javascript:__doPostBack('LeaderBoard1$cmdCSV','')"
    • 这是一个处理某事的java脚本调用,最后,有一个URL被调用。如果您使用的是 Google Chrome,请打开开发人员检查并检查网络选项卡,并尝试找出此方法调用的 URL。
    【解决方案2】:

    如果你使用linux,也可以使用wget下载文件并在R中导入

        $wget "www.yourURL.com"
    

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      • 1970-01-01
      相关资源
      最近更新 更多