# 🔍 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 1. Inicie o app: ```bash python app.py ``` 2. Acesse: http://127.0.0.1:7860 3. Vá para a aba **"🔍 Radar Automático"** 4. Configure: - **Últimos N dias**: Quantos dias atrás buscar (padrão: 90) - **Limite por fonte**: Máximo de PLs por fonte (padrão: 20) 5. Clique em **"🔍 Buscar PLs nas APIs"** 6. 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 ```python 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`, `travesti` - `homofobia`, `transfobia`, `homossexual` - `identidade de gênero`, `orientação sexual`, `diversidade sexual` - `nome social`, `terapia de conversão`, `cura gay` ### Termos Contextuais (Relevância Média) - `ideologia de gênero`, `banheiro`, `vestiário` - `atleta trans`, `esporte feminino`, `competição feminina` - `linguagem 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ção - `itens`: 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 ```bash # 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 1. **API da Câmara**: Funciona, mas requer filtragem manual (API não faz busca textual) 2. **Senado**: API disponível, mas estrutura diferente - precisa implementar parser 3. **Câmara SP / ALESP**: Pode não ter API pública - pode precisar de scraping web 4. **Rate Limiting**: Evitar muitas requisições simultâneas (código já tem delay) 5. **Falsos Positivos**: Filtro evita termos ambíguos (ex: "transporte" não é capturado) ## 🚀 Próximos Passos 1. **Implementar Senado Federal** - Pesquisar estrutura da API - Adaptar parser para formato XML/JSON do Senado 2. **Câmara Municipal de SP** - Verificar se há API pública - Se não houver, implementar scraping (respeitando ToS) 3. **ALESP** - Verificar se há API pública - Se não houver, implementar scraping 4. **Melhorias no Filtro** - Adicionar mais termos específicos - Melhorar detecção de contexto LGBTQIA+ - Reduzir falsos positivos 5. **Cache de Resultados** - Salvar resultados para não buscar repetidamente - Atualizar apenas PLs novas ## 📚 Referências - [API Dados Abertos Câmara](https://dadosabertos.camara.leg.br/swagger/api.html) - [Dados Abertos Senado](https://www12.senado.leg.br/dados-abertos/conjuntos) - [Portal LexML](https://www.lexml.gov.br/)