0

好的,所以这是特定于 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'
4

2 回答 2

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"
于 2013-06-28T14:51:48.410 回答
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" 

所以我认为会发生某种响应,但初始响应非常短,代码还没有准备好接受之后发生的事情。

于 2013-06-28T06:49:45.713 回答