Spaces:
Running
on
Zero
Running
on
Zero
A newer version of the Gradio SDK is available:
6.2.0
🔍 Radar Automático de PLs LGBTQIA+
Sistema de busca automática de Projetos de Lei relacionados a direitos LGBTQIA+ nas casas legislativas do Brasil.
📋 Funcionalidades
✅ Implementado
- Câmara dos Deputados: Busca automática via API de Dados Abertos
- Filtra PLs do ano atual e anterior
- Busca termos específicos LGBTQIA+ na ementa
- Análise automática com Ensemble Híbrido
🚧 Em Desenvolvimento
- Senado Federal: API disponível, implementação em andamento
- Câmara Municipal de São Paulo: Verificando disponibilidade de API
- ALESP (Assembleia Legislativa de SP): Verificando disponibilidade de API
🎯 Como Usar
Via Interface Gradio
Inicie o app:
python app.pyAcesse: http://127.0.0.1:7860
Vá para a aba "🔍 Radar Automático"
Configure:
- Últimos N dias: Quantos dias atrás buscar (padrão: 90)
- Limite por fonte: Máximo de PLs por fonte (padrão: 20)
Clique em "🔍 Buscar PLs nas APIs"
O sistema vai:
- Buscar PLs recentes na Câmara dos Deputados
- Filtrar por termos LGBTQIA+
- Analisar cada PL encontrado
- Mostrar resultados com classificação
Via Python Direto
from api_radar import buscar_todas_fontes, filtrar_pls_relevantes
# Buscar PLs dos últimos 90 dias
pls = buscar_todas_fontes(dias_atras=90, limite_por_fonte=20)
# Filtrar por relevância
pls_relevantes = filtrar_pls_relevantes(pls, termos_minimos=1)
print(f"Encontradas {len(pls_relevantes)} PLs relevantes")
🔍 Termos de Busca
Termos Específicos (Alta Relevância)
lgbt,lgbtqia,trans,transgênero,transexual,travestihomofobia,transfobia,homossexualidentidade de gênero,orientação sexual,diversidade sexualnome social,terapia de conversão,cura gay
Termos Contextuais (Relevância Média)
ideologia de gênero,banheiro,vestiárioatleta trans,esporte feminino,competição femininalinguagem neutra,símbolos religiosos.*parada
Nota: Termos contextuais só são aceitos quando combinados com palavras legislativas como "proíbe", "veda", "garante", "reconhece", etc.
📊 API da Câmara dos Deputados
URL Base: https://dadosabertos.camara.leg.br/api/v2
Endpoint: /proposicoes
Parâmetros:
siglaTipo: Tipo de proposição (PL, PLS, PEC, etc)ano: Ano da proposiçãoitens: Número de itens por página (máximo recomendado: 100)
Limitações:
- Não suporta busca textual direta na API
- Estratégia: buscar PLs recentes e filtrar localmente por termos
- Pode retornar muitos resultados sem filtro
🧪 Testando
# Teste básico de busca
python -c "from api_radar import buscar_camara_deputados; pls = buscar_camara_deputados(limite=5); print(f'Encontradas: {len(pls)} PLs')"
# Teste completo
python -c "from api_radar import buscar_todas_fontes; pls = buscar_todas_fontes(limite_por_fonte=10); print(f'Total: {len(pls)} PLs')"
⚠️ Limitações Atuais
- API da Câmara: Funciona, mas requer filtragem manual (API não faz busca textual)
- Senado: API disponível, mas estrutura diferente - precisa implementar parser
- Câmara SP / ALESP: Pode não ter API pública - pode precisar de scraping web
- Rate Limiting: Evitar muitas requisições simultâneas (código já tem delay)
- Falsos Positivos: Filtro evita termos ambíguos (ex: "transporte" não é capturado)
🚀 Próximos Passos
Implementar Senado Federal
- Pesquisar estrutura da API
- Adaptar parser para formato XML/JSON do Senado
Câmara Municipal de SP
- Verificar se há API pública
- Se não houver, implementar scraping (respeitando ToS)
ALESP
- Verificar se há API pública
- Se não houver, implementar scraping
Melhorias no Filtro
- Adicionar mais termos específicos
- Melhorar detecção de contexto LGBTQIA+
- Reduzir falsos positivos
Cache de Resultados
- Salvar resultados para não buscar repetidamente
- Atualizar apenas PLs novas