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.
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)
timestamp = os.path.getmtime(caminho_completo)
data = datetime.fromtimestamp(timestamp)
pasta_destino = f"{data.year}/{data.month:02d}"
os.makedirs(pasta_destino, exist_ok=True)
shutil.move(caminho_completo,
os.path.join(pasta_destino, arquivo))
print(f"✓ {arquivo} → {pasta_destino}")
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)
texto = extrair_texto_pdf("processo.pdf")
print(texto[:500])
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"""
df = pd.DataFrame(processos)
df['dias_em_tramite'] = (
datetime.now() - pd.to_datetime(df['data_distribuicao'])
).dt.days
with pd.ExcelWriter('processos.xlsx') as writer:
df.to_excel(writer, sheet_name='Processos', index=False)
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")
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:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto('https://esaj.tjsp.jus.br/cpopg/open.do')
page.fill('input[name="numeroDigitoAnoUnificado"]',
numero_processo)
page.click('input[type="submit"]')
page.wait_for_selector('.secaoFormBody')
dados = {
'classe': page.locator('#classeProcesso').text_content(),
'assunto': page.locator('#assuntoProcesso').text_content(),
'juiz': page.locator('#juizProcesso').text_content()
}
page.screenshot(path=f'{numero_processo}.png')
browser.close()
return dados
resultado = consultar_processo_tjsp('1234567-89.2024.8.26.0100')
print(resultado)
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