Skip to content

Instantly share code, notes, and snippets.

@fernandobarbalho
Last active May 17, 2023 19:45
Show Gist options
  • Save fernandobarbalho/a256a2b18e71772528d759ac8c06baeb to your computer and use it in GitHub Desktop.
Save fernandobarbalho/a256a2b18e71772528d759ac8c06baeb to your computer and use it in GitHub Desktop.
Script para pegar os discursos dos deputados que atuaram em uma dada legislatura
library(jsonlite)
library(purrr)
legislatura<-"56"
#Endereço básico para capturar todos os deputados de uma legislatura
path<- "https://dadosabertos.camara.leg.br/api/v2/deputados?idLegislatura=%s&ordem=ASC&ordenarPor=nome"
path<- sprintf(path, legislatura)
#Busca todos os deputados da legislatura indicada no path
deputados_56<- jsonlite::fromJSON(txt = path)
df_deputados <- deputados_56[["dados"]]
#Faz um loop para todos os deputados, buscando os discursos
#Os valores das variaveis primeiro_deputado e ultimo_deputado podem ser alterados para corresponder a uma faixa de ids específica
primeiro_deputado<-1
ultimo_deputado<- 10# NROW(df_deputados)
#Sugestão de melhoria: fazer a consulta com tolerância a falhas
discursos_legislatura<-
map_dfr(primeiro_deputado:ultimo_deputado, function(a_id_deputado){
id_deputado<- df_deputados$id[a_id_deputado]
print(id_deputado)
#string básica para pegar os discurso
path_discurso<-"https://dadosabertos.camara.leg.br/api/v2/deputados/%s/discursos?idLegislatura=56&ordenarPor=dataHoraInicio&ordem=ASC"
path_discurso_deputado_atual<- sprintf(path_discurso, as.character(id_deputado))
discurso<- jsonlite::fromJSON(txt = path_discurso_deputado_atual)
discurso[["dados"]]
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment