Skip to main content

Ferramentas para extração e processamento de dados do STF

Project description

DSD

PyPI version Python Versions License: MIT

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 HTML
  • get_json(url: str) -> dict: Faz requisição GET e retorna JSON
  • get_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 delimitadores
  • extrair_partes(string: str) -> str: Extrai partes processuais do HTML
  • extrair_andamentos(string: str) -> list: Extrai andamentos processuais

Funções de Limpeza

  • clean(source: str) -> str: Remove espaços e caracteres especiais
  • limpar(fonte: str) -> str: Limpeza completa de texto
  • limpar_para_csv(fonte: str) -> str: Prepara texto para CSV

Funções de Arquivo e CSV

  • carregar_arquivo(nomedoarquivo: str) -> str: Carrega arquivo
  • gravar(nomedoarquivo: str, dados: str) -> None: Grava dados
  • csv_to_list(file: str) -> list: Converte CSV para lista
  • write_csv_header(nomedoarquivo: str, string_campos: str) -> None: Escreve cabeçalho CSV
  • write_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:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. 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

dsd_br-0.1.0.tar.gz (25.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dsd_br-0.1.0-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

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

Hashes for dsd_br-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a73ba3aa6e9f932577572d9839c9f30570de9aef5e26ae58defb8613c3227a03
MD5 0ee9ad18623062ed22220b2765854980
BLAKE2b-256 fddf97cf73a4a200c6ce97b705427368e41caa408bf19730ea9aff00b42487f4

See more details on using hashes here.

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

Hashes for dsd_br-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d54ba6c1410d54119c65c70a2f3b319f1f9fdaf0e8d55902d6c2f8f2d9e90fc
MD5 533a881cab8b1834eaa81ebf935aeab8
BLAKE2b-256 7401b98ed59a153ede9b25ab38c28dc4e074c3842655ab1e3595525fb84cb897

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page