Open felipelmc opened 2 months ago
Olá, Felipe!
Acredito que pode ter havido um problema temporário em um proxy intermediário da nossa rede. Não consegui reproduzir o problema, usando os mesmos ou diferentes parâmetros de tempo. Por favor avise se você ainda estiver tendo o problema: caso prefira, pode escrever para dadosabertos.cenin@camara.leg.br , e informe se possível o IP e o user agent usados pela sua aplicação para que consigamos procurar dados nos sistemas de monitoramento da nossa infraestrutura.
Quanto ao código, eu lhe sugeriria incluir um delay de 200ms, com uma chamada a sleep(), entre as requisições. Sem isso, você provavelmente vai receber erros 429 ("too many requests") com frequência. Você também pode economizar requisições se aumentar o número de itens retornados a cada requisição (com itens=50, por exemplo) e, em vez de buscar novas páginas por um loop que verifica se a resposta veio vazia, você pode simplesmente buscar novas páginas enquanto houver uma URL com rel=next na seção links das respostas.
Obrigado pelo interesse no Dados Abertos e grande abraço!
Fabricio Rocha Equipe Dados Abertos - Câmara
Muito obrigado pela pronta resposta, Fabricio! Infelizmente continuo tendo o mesmo problema. Vou escrever para o e-mail indicado.
No mais, obrigado pelas sugestões em relação ao código! Não tinha me atentado para essa maneira de buscar novas páginas.
Grande abraço!
Bom dia Pessoal ! Mesmo problema por aqui.
Estou em um processo que busca ingestionar os dados de forma diaria. Nessa situação sei que o erro começou a surgir no dia a partir do dia 30-08.
Conseguem ajudar ?
Olá, pessoal.
Vocês podem por favor testar se a situação foi normalizada?
Obrigado e abraços!
Fabricio Rocha Equipe Dados Abertos - Câmara
Oi, Fabricio! Fiz alguns testes no próprio site e programaticamente e parece estar funcionando perfeitamente. Muito obrigado!
Boa Tarde Fabricio!
Problema ainda persiste por aqui.
curl -X 'GET' \
'https://dadosabertos.camara.leg.br/api/v2/deputados/220588/discursos?dataInicio=2024-08-16&ordenarPor=dataHoraInicio&ordem=ASC&itens=50' \
-H 'accept: application/json'
Consegue auxiliar ?
De fato, @paulopha, testei esse id aqui e também não funcionou
Salve, pessoal.
Estamos detectando que o limite de acessos à base de discursos estão sendo atingidos muito rapidamente. É possível que alguma aplicação esteja bombardeando da API de requisições.
Sugerimos que entre cada requisição seja inserido um atraso de 200ms, para evitar a sobrecarga no servidor e assim permitir que todos os usuários sejam atendidos. Vamos verificar também se podemos aumentar a velocidade de resposta deste endpoint, mas isso não é algo que podemos resolver de imediato.
Enquanto isso, peço desculpas e a compreensão de todos, e agradeço por alertarem sobre o problema.
Fabricio Rocha Equipe Dados Abertos - Câmara
Bom dia Fabricio.
Como tal falha impossibilida a obtenção de informação, e não sabemos quem são os clientes alem de nos mesmos que podem estar a agredir o endpoint.
Sabe me dizer se existe outra forma, paleativa, de obtenção dos dados em questão ?
Salve, @paulopha .
Ainda não há. Temos um plano antigo de fornecer os discursos como arquivos TXT referenciados pelos Arquivos do Dados Abertos, mas ainda não conseguimos implementar por diversas razões.
Vamos nos concentrar em resolver o problema da API nesta quinta-feira.
Fabricio Rocha Equipe Dados Abertos - Câmara
Bom dia pessoal ?
Temos algum retorno com relação a situação ?
Muito Obrigado !
Olá, pessoal!
Mesmo problema por aqui. Temos alguma atualização? Obrigada!
Olá, pessoal.
Ficamos até semana passada tomando uma surra es-pe-ta-cu-lar desse problema. Mas chegamos a algumas soluções que, se não resolveram, pelo menos diminuíram sensivelmente a ocorrência.
Peço-lhes que verifiquem como o endpoint está respondendo agora. Mas peço parcimônia. O problema foi relacionado à necessidade de um processamento meio complicado e longo dos textos.
Não ocorria antes. Mas uma ou mais aplicação(ções) que não temos como identificar iniciou(aram) um consumo absurdo do endpoint de algumas semanas para cá. A cerca de 660 requisições por segundo, não tem API que dê jeito. Para comparação, o endpoint /deputados, na última semana, teve como pico de consumo 1,16 requisições por segundo. O segundo endpoint mais requisitado nesse período foi /proposicao/{id}/autores, com 69 requisições por segundo. Ou seja: o de discursos foi bombardeado com quase 10x isso.
APIs são recursos limitados. Não tem outro jeito.
Obrigado e abraços!
Fabricio Rocha Equipe Dados Abertos - Câmara
Olá, Fabrício!
Muito obrigado por terem se dedicado a esse problema. Ontem mesmo executei o código para extrair os discursos via API e funcionou perfeitamente - não obtive um erro sequer.
Parabéns pelo trabalho!
Forte abraço, Felipe
Olá Fabrício!
Agradeço os esforços e o retorno da equipe! Consegui extrair os discursos pela API, entretanto, me restou uma dúvida: esses discursos ainda são referente a eventos diversos? ou apenas aos realizados em plenário?
Agradeço novamente pela ajuda, Letícia
Caros, estou extraindo os discursos de deputados federais usando a API de dados abertos mas o endpoint de discursos retorna request timeout para todas as minhas requisições. Fiz uma série de testes no "Try out" da página, além de requests via Python, mas o resultado é sempre o mesmo.
O código que estou usando para fazer a extração dos dados está aqui: https://github.com/felipelmc/PoliSpeechBR/blob/main/extract_speeches.ipynb