Ferramentas para extração e processamento de dados do STF
Project description
DSD
DSD é uma biblioteca Python para extração e processamento de dados do portal do Supremo Tribunal Federal (STF) do Brasil.
🚀 Funcionalidades
- ✅ Web Scraping do portal STF
- ✅ Extração de processos judiciais
- ✅ Processamento de andamentos processuais
- ✅ Extração de partes envolvidas
- ✅ Limpeza e normalização de dados
- ✅ Exportação para CSV
- ✅ Type hints completos (Python 3.7+)
- ✅ Documentação inline (docstrings)
📦 Instalação
Via pip (recomendado)
pip install dsd-br
Via repositório Git
git clone https://github.com/AlexandreAraujoCosta/DSD.git
cd dsd
pip install -e .
Instalação para desenvolvimento
pip install -e ".[dev]"
🎯 Uso Rápido
Exemplo Básico
import dsd
# Fazer requisição ao STF
html = dsd.get("https://portal.stf.jus.br/processos/...")
# Extrair informações
partes = dsd.extrair_partes(html)
andamentos = dsd.extrair_andamentos(html)
# Processar dados
dados_limpos = dsd.limpar(dados)
# Salvar em CSV
dsd.write_csv_header("processos.csv", "processo;parte;data")
dsd.write_csv_row("processos.csv", [processo, parte, data])
Trabalhando com Datas
from dsd import date, ajustar_mes
# Converter formato de data
data_br = "31/12/2023"
data_iso = date(data_br) # "2023-12-31"
# Converter mês abreviado
mes_numero = ajustar_mes("DEZ") # "12"
Trabalhando com Estados
from dsd import limpa_estado, estado_nome_completo, siglas
# Converter estado para sigla
sigla = limpa_estado("SAO PAULO") # "/SP"
# Converter sigla para nome completo
nome = estado_nome_completo("/SP") # "SAO PAULO"
# Obter lista de siglas
lista_siglas = siglas() # ['AC', 'AL', 'AP', ...]
Extração de Texto
from dsd import extract, clean
# Extrair texto entre delimitadores
texto_html = "<div>Conteúdo importante</div>"
conteudo = extract(texto_html, "<div>", "</div>") # "Conteúdo importante"
# Limpar texto
texto_sujo = " Texto com\nespaços "
texto_limpo = clean(texto_sujo) # "Texto com espaços"
Trabalhando com Arquivos
from dsd import carregar_arquivo, gravar, csv_to_list
# Carregar arquivo
conteudo = carregar_arquivo("processo.html")
# Gravar dados
gravar("resultado.txt", "Dados processados")
# Converter CSV para lista
dados = csv_to_list("dados.csv")
📚 Documentação Completa
Funções de Requisição HTTP
get(url: str) -> str: Faz requisição GET e retorna HTMLget_json(url: str) -> dict: Faz requisição GET e retorna JSONget_response(url: str) -> Response: Retorna objeto Response completo
Funções de Extração
extract(source: str, start_at: str, end_at: str) -> str: Extrai texto entre delimitadoresextrair_partes(string: str) -> str: Extrai partes processuais do HTMLextrair_andamentos(string: str) -> list: Extrai andamentos processuais
Funções de Limpeza
clean(source: str) -> str: Remove espaços e caracteres especiaislimpar(fonte: str) -> str: Limpeza completa de textolimpar_para_csv(fonte: str) -> str: Prepara texto para CSV
Funções de Arquivo e CSV
carregar_arquivo(nomedoarquivo: str) -> str: Carrega arquivogravar(nomedoarquivo: str, dados: str) -> None: Grava dadoscsv_to_list(file: str) -> list: Converte CSV para listawrite_csv_header(nomedoarquivo: str, string_campos: str) -> None: Escreve cabeçalho CSVwrite_csv_row(nomedoarquivo: str, dados: str) -> None: Escreve linha CSV
🛠️ Requisitos
- Python >= 3.7
- requests >= 2.31.0
- selenium >= 4.0.0
🤝 Contribuindo
Contribuições são bem-vindas! Para contribuir:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Desenvolvimento
# Clone o repositório
git clone https://github.com/AlexandreAraujoCosta/DSD.git
cd dsd
# Instale em modo desenvolvimento
pip install -e ".[dev]"
# Execute os testes
pytest
# Formate o código
black dsd/
# Verifique tipos
mypy dsd/
📝 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
👥 Autores
Alexandre Araújo Costa
Henrique Araújo Costa
- Coautor
🙏 Agradecimentos
- Comunidade Python Brasil
- Supremo Tribunal Federal por disponibilizar os dados publicamente
📊 Status do Projeto
🚧 Em desenvolvimento ativo - Versão 0.1.0
🔗 Links Úteis
📈 Changelog
[0.1.0] - 2024-01-XX
Adicionado
- Estrutura inicial do pacote
- Funções de web scraping do STF
- Funções de processamento de dados
- Suporte a CSV
- Type hints completos
- Documentação inline
⭐ Se este projeto foi útil para você, considere dar uma estrela no GitHub!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dsd_br-0.1.0.tar.gz.
File metadata
- Download URL: dsd_br-0.1.0.tar.gz
- Upload date:
- Size: 25.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a73ba3aa6e9f932577572d9839c9f30570de9aef5e26ae58defb8613c3227a03
|
|
| MD5 |
0ee9ad18623062ed22220b2765854980
|
|
| BLAKE2b-256 |
fddf97cf73a4a200c6ce97b705427368e41caa408bf19730ea9aff00b42487f4
|
File details
Details for the file dsd_br-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dsd_br-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d54ba6c1410d54119c65c70a2f3b319f1f9fdaf0e8d55902d6c2f8f2d9e90fc
|
|
| MD5 |
533a881cab8b1834eaa81ebf935aeab8
|
|
| BLAKE2b-256 |
7401b98ed59a153ede9b25ab38c28dc4e074c3842655ab1e3595525fb84cb897
|