好的,所以这是OSX特有的R问题。
我正在尝试通过API下载XML数据。以下代码在PC上运行正常,但在Mac上运行不正常。我已经轮换所有“方法”(卷曲等)无济于事。有什么想法吗?
tempx <- "temp.xml"
url <- "http://usaspending.gov/fpds/fpds.php?detail=b&fiscal_year=2012&maj_agency_cat=97&max_records=10&sortby=d&records_from=1"
download.file(url, tempx, method="auto")
ETA:这是我的错误:
trying URL 'http://usaspending.gov/fpds/fpds.php?detail=b&fiscal_year=2012&maj_agency_cat=97&max_records=10&sortby=d&records_from=1'
Error in download.file(url, tempx, method = "auto") :
cannot open URL 'http://usaspending.gov/fpds/fpds.php?detail=b&fiscal_year=2012&maj_agency_cat=97&max_records=10&sortby=d&records_from=1'
答案 0 :(得分:1)
这适用于httr
:
library(httr)
url <- "http://usaspending.gov/fpds/fpds.php?detail=b&fiscal_year=2012&maj_agency_cat=97&max_records=10&sortby=d&records_from=1"
GET(url)
因为它会自动处理重定向:
GET(url)$url
# [1] "http://usaspending.gov/api/fpds_api_basic.php?fiscal_year=2012&maj_contracting_agency=97%2A&Contracts=c&sortby=SIGNED_DATE%2Basc&records_from=0&max_records=10&sortby=SIGNED_DATE+asc"
答案 1 :(得分:0)
这不是作为格式化评论的答案。我也是OSX用户,你的代码也有同样的问题,以及我在解决方案上的努力存在的问题:
library(RCurl)
library(XML)
gotten <- getURL("http://usaspending.gov/fpds/fpds.php?detail=b&fiscal_year=2012&maj_agency_cat=97&max_records=10&sortby=d&records_from=1")
> gotten
[1] "\n"
> gotten2 <- getURLContent("http://usaspending.gov/fpds/fpds.php?detail=b&fiscal_year=2012&maj_agency_cat=97&max_records=10&sortby=d&records_from=1")
>
> gotten2
[1] "\n"
attr(,"Content-Type")
"text/xml"
所以我认为会发生某种反应,但初始响应很短,而且代码还没准备好接受之后发生的事情。