R语言Web Scraping含特殊字符请求参数报错的解决咨询
解决R语言中特殊参数名的请求报错问题
你的报错核心是R将参数名里的-识别为减法运算符,同时代码里还有一个小问题:query列表外层多套了c(),会破坏参数结构,需要一并修正。
修正方法
对于包含特殊字符(如-、空格)的参数名,有两种合法的命名方式:
1. 用双引号包裹参数名
直接把带特殊字符的参数名放在双引号里,R就会将其作为完整的名称处理:
"SRegião_Metropolitana_-_RIDE" = "TODAS_AS_CATEGORIAS__"
2. 用反引号包裹参数名
反引号是R中处理特殊命名的常用方式,同样可以避免运算符识别问题:
`SRegião_Metropolitana_-_RIDE` = "TODAS_AS_CATEGORIAS__"
修改后的完整代码
url <- "http://tabnet.datasus.gov.br/cgi/deftohtm.exe?ibge/cnv/popsvsbr.def" query <- list( Linha = "Município", Coluna = "Faixa_Etária_2", Incremento = "População_residente", Arquivos = "pop21.dbf", SRegião = "TODAS_AS_CATEGORIAS__", pesqmes2 = "Digite+o+texto+e+ache+fácil", SUnidade_da_Federação = "25", pesqmes3 = "Digite+o+texto+e+ache+fácil", SMunicípio = "TODAS_AS_CATEGORIAS__", pesqmes4 = "Digite+o+texto+e+ache+fácil", SCapital = "TODAS_AS_CATEGORIAS__", pesqmes5 = "Digite+o+texto+e+ache+fácil", SRegião_de_Saúde = "TODAS_AS_CATEGORIAS__", pesqmes6 = "Digite+o+texto+e+ache+fácil", SMacrorregião_de_Saúde = "TODAS_AS_CATEGORIAS__", pesqmes7 = "Digite+o+texto+e+ache+fácil", SMicrorregião_IBGE = "TODAS_AS_CATEGORIAS__", pesqmes8 = "Digite+o+texto+e+ache+fácil", "SRegião_Metropolitana_-_RIDE" = "TODAS_AS_CATEGORIAS__", pesqmes9 = "Digite+o+texto+e+ache+fácil", STerritório_da_Cidadania = "TODAS_AS_CATEGORIAS__", pesqmes10 = "Digite+o+texto+e+ache+fácil", SMacrorregião_PNDR = "TODAS_AS_CATEGORIAS__", SAmazônia_Legal = "TODAS_AS_CATEGORIAS__", SSemiárido = "TODAS_AS_CATEGORIAS__", SFaixa_de_Fronteira = "TODAS_AS_CATEGORIAS__", SZona_de_Fronteira = "TODAS_AS_CATEGORIAS__", SMunicípio_de_extrema_pobreza = "TODAS_AS_CATEGORIAS__", SSexo = "TODAS_AS_CATEGORIAS__", pesqmes17 = "Digite+o+texto+e+ache+fácil", SFaixa_Etária_1 = "TODAS_AS_CATEGORIAS__", pesqmes18 = "Digite+o+texto+e+ache+fácil", SFaixa_Etária_2 = "TODAS_AS_CATEGORIAS__", formato = "prn", mostre = "Mostra" ) page <- httr::GET(url = url, query = query) |> getElement("content") |> rawToChar()
说明:代码中移除了list()外层的c(),因为c()会将列表转换为向量,导致httr::GET无法正确解析请求参数结构。
内容的提问来源于stack exchange,提问作者AndreASousa
相关产品推荐
相关产品推荐

