使用httr包处理url中的空格
我想知道如何让使用httr包处理url中的空格,r,json,api,http,url,R,Json,Api,Http,Url,我想知道如何让GET从httr包中自动处理包含空格的参数值 当我将其粘贴到浏览器中时: http://quickstats.nass.usda.gov/api/api_GET/?key=MYAPIKEY&commodity_desc=AG LAND&short_desc=AG LAND, IRRIGATED - ACRES&short_desc=AG LAND - ACRES&year__GE=2015&state_alpha=NC 空间替换为%20,数
GET
从httr
包中自动处理包含空格的参数值
当我将其粘贴到浏览器中时:
http://quickstats.nass.usda.gov/api/api_GET/?key=MYAPIKEY&commodity_desc=AG LAND&short_desc=AG LAND, IRRIGATED - ACRES&short_desc=AG LAND - ACRES&year__GE=2015&state_alpha=NC
空间替换为%20,数据从现场获取。这是浏览器返回的url:
https://quickstats.nass.usda.gov/api/api_GET/?key=MYAPIKEY&commodity_desc=AG%20LAND&short_desc=AG%20LAND,%20IRRIGATED%20-%20ACRES&short_desc=AG%20LAND%20-%20ACRES&year__GE=2015&state_alpha=NC
对象my_commodity_desc
中的“农业用地”和my_short_desc1
中的“农业用地,灌溉面积”等参数中都有空格,我认为这就是问题所在
这是我正在运行的代码,用于从以下位置获取数据:
#url
nass_url您可以使用base R的URLencode
(来自packageutils
),它的功能与浏览器的功能大致相同:
URLencode(路径\u nc\u irrig\u土地)
#>[1]“api/api\u GET/?key=myAPIKey&commodity\u desc=AG%20LAND&short\u desc=AG%20LAND%20-%20ACRES&short\u desc=AG%20LAND%20-%20ACRES&year\u GE=2015&state\u alpha=NC”
# url
nass_url <- "http://quickstats.nass.usda.gov"
# commodity description of interest
my_commodity_desc <- "AG LAND"
# short description of interest (i.e., 'data item' on NASS Quick Stats website)
my_short_desc1 <- "AG LAND, IRRIGATED - ACRES"
my_short_desc2 <- "AG LAND - ACRES"
# query start year
my_year <- "2015"
# state of interest
my_state <- "NC"
# final path string
path_nc_irrig_land <- paste0("api/api_GET/?key=", NASS_API_KEY,
"&commodity_desc=", my_commodity_desc,
"&short_desc=", my_short_desc1,
"&short_desc=", my_short_desc2,
"&year__GE=", my_year,
"&state_alpha=", my_state)
# Run the query
raw_result_nc_irrig_land <- GET(url = nass_url, path = path_nc_irrig_land)