🐍 PYTHON PARA AUTOMAÇÃO JURÍDICA

Do básico ao avançado com Python e Playwright

🐍

Python + Playwright

Automatize tarefas jurídicas com o poder do Python

Por que Python?

Python é a linguagem mais popular para automação devido à sua simplicidade e poder. Com sintaxe clara e milhares de bibliotecas disponíveis, é ideal para automatizar tarefas jurídicas repetitivas.

Playwright é uma biblioteca moderna que permite automatizar navegadores web, perfeita para interagir com sistemas como e-SAJ, PJe e outros portais jurídicos.

Instalação do Python

Baixe o Python

Acesse python.org e baixe a versão 3.11 ou superior. No macOS, você também pode usar Homebrew:

# macOS com Homebrew brew install python@3.11 # Verificar instalação python3 --version

Configure o ambiente virtual

Sempre use ambientes virtuais para isolar projetos:

# Criar ambiente virtual python3 -m venv meu_projeto # Ativar ambiente (macOS/Linux) source meu_projeto/bin/activate # Ativar ambiente (Windows) meu_projeto\Scripts\activate

Instale bibliotecas essenciais

Instale as principais bibliotecas para automação jurídica:

# Bibliotecas básicas pip install pandas openpyxl pip install PyPDF2 pdfplumber pip install python-docx pip install requests beautifulsoup4 # Para automação web pip install playwright playwright install

Exemplos Básicos

1. Organizar PDFs por Data

import os import shutil from datetime import datetime import PyPDF2 def organizar_pdfs_por_data(pasta_origem): """Organiza PDFs em pastas por ano/mês""" for arquivo in os.listdir(pasta_origem): if arquivo.endswith('.pdf'): caminho_completo = os.path.join(pasta_origem, arquivo) # Obter data de modificação timestamp = os.path.getmtime(caminho_completo) data = datetime.fromtimestamp(timestamp) # Criar pasta ano/mês pasta_destino = f"{data.year}/{data.month:02d}" os.makedirs(pasta_destino, exist_ok=True) # Mover arquivo shutil.move(caminho_completo, os.path.join(pasta_destino, arquivo)) print(f"✓ {arquivo} → {pasta_destino}") # Usar a função organizar_pdfs_por_data("/Users/seu_usuario/Downloads")

2. Extrair Texto de PDFs

import pdfplumber def extrair_texto_pdf(caminho_pdf): """Extrai todo o texto de um PDF""" texto_completo = [] with pdfplumber.open(caminho_pdf) as pdf: for pagina in pdf.pages: texto = pagina.extract_text() if texto: texto_completo.append(texto) return '\n'.join(texto_completo) # Exemplo de uso texto = extrair_texto_pdf("processo.pdf") print(texto[:500]) # Primeiros 500 caracteres

3. Criar Planilha de Processos

import pandas as pd from datetime import datetime def criar_planilha_processos(processos): """Cria planilha Excel com dados de processos""" # Criar DataFrame df = pd.DataFrame(processos) # Adicionar colunas calculadas df['dias_em_tramite'] = ( datetime.now() - pd.to_datetime(df['data_distribuicao']) ).dt.days # Salvar em Excel com formatação with pd.ExcelWriter('processos.xlsx') as writer: df.to_excel(writer, sheet_name='Processos', index=False) # Ajustar largura das colunas worksheet = writer.sheets['Processos'] for i, col in enumerate(df.columns): worksheet.set_column(i, i, 20) print(f"✓ Planilha criada com {len(df)} processos") # Exemplo de uso processos = [ {'numero': '1234567-89.2024.8.26.0100', 'parte': 'João Silva', 'assunto': 'Roubo', 'data_distribuicao': '2024-01-15'} ] criar_planilha_processos(processos)

Automação Web com Playwright

Por que Playwright?

• Suporta Chrome, Firefox e Safari
• Mais rápido e confiável que Selenium
• Aguarda automaticamente elementos carregarem
• Captura screenshots e grava vídeos
• Funciona em modo headless (sem interface)

Exemplo: Consultar Processo no TJ-SP

from playwright.sync_api import sync_playwright def consultar_processo_tjsp(numero_processo): """Consulta processo no site do TJ-SP""" with sync_playwright() as p: # Iniciar navegador browser = p.chromium.launch(headless=False) page = browser.new_page() # Acessar site de consulta page.goto('https://esaj.tjsp.jus.br/cpopg/open.do') # Preencher número do processo page.fill('input[name="numeroDigitoAnoUnificado"]', numero_processo) # Clicar em consultar page.click('input[type="submit"]') # Aguardar resultado carregar page.wait_for_selector('.secaoFormBody') # Extrair informações dados = { 'classe': page.locator('#classeProcesso').text_content(), 'assunto': page.locator('#assuntoProcesso').text_content(), 'juiz': page.locator('#juizProcesso').text_content() } # Capturar screenshot page.screenshot(path=f'{numero_processo}.png') browser.close() return dados # Usar a função resultado = consultar_processo_tjsp('1234567-89.2024.8.26.0100') print(resultado)

Exemplos Práticos Jurídicos

Juntar PDFs

Combine múltiplos PDFs de um processo em um único arquivo, mantendo a ordem cronológica das peças.

Buscar Jurisprudência

Automatize buscas em sites de tribunais e compile resultados em relatórios formatados.

Calcular Prazos

Crie calculadora que considera feriados, suspensões e regras específicas do CPC.

Download em Lote

Baixe automaticamente múltiplos processos do e-SAJ ou PJe com organização automática.

Gerar Minutas

Crie templates de minutas que preenchem dados automaticamente a partir de planilhas.

Relatórios

Gere estatísticas e gráficos sobre movimentação processual e produtividade.

Bibliotecas Essenciais

PyPDF2 Manipulação de PDFs
pdfplumber Extração de texto
pandas Análise de dados
openpyxl Excel avançado
python-docx Criar Word
playwright Automação web
selenium Web scraping
beautifulsoup4 Parse HTML
pytesseract OCR de imagens
schedule Agendar tarefas
pillow Processar imagens
cryptography Criptografia

Dicas Importantes

1. Sempre use try/except: Trate erros para evitar travamentos
2. Faça logs: Registre todas as operações em arquivos de log
3. Teste primeiro: Use ambientes de teste antes de produção
4. Documente: Comente seu código para facilitar manutenção
5. Versionamento: Use Git para controlar versões
6. Backup: Sempre faça backup antes de automatizar

Recursos para Aprender

• Python.org: Documentação oficial
• Real Python: Tutoriais práticos
• Automate the Boring Stuff: Livro gratuito online
• Playwright Docs: playwright.dev
• Stack Overflow: Tire dúvidas
• YouTube: Vídeo-aulas em português