courts.trf5.client.TRF5Scraper

courts.trf5.client.TRF5Scraper(
    verbose=0,
    download_path=None,
    sleep_time=1.0,
    **kwargs,
)

TRF5 PJe consulta pública (1º grau).

Methods

Name Description
cpopg Consulta CPOPG: baixa o detalhe, parseia e (opcional) baixa peças.
cpopg_download Download the detail HTML for each id_cnj.
cpopg_parse Parse a list of detail HTMLs into a one-row-per-process DataFrame.

cpopg

courts.trf5.client.TRF5Scraper.cpopg(
    id_cnj,
    download_pecas=False,
    diretorio=None,
    **kwargs,
)

Consulta CPOPG: baixa o detalhe, parseia e (opcional) baixa peças.

Por default retorna apenas os metadados + movimentações + lista de documentos (id/data/descrição). Para também baixar os arquivos das peças (HTML viewer do PJe), passe download_pecas=True + um diretorio. As peças vão para <diretorio>/<cnj>/<id>.html e a coluna pecas no DataFrame ganha a lista de caminhos por processo.

download_pecas vive como flag aqui (em vez de um cpopg_download_pecas separado) porque os tokens ca que identificam cada peça estão amarrados à conversa Seam que produziu o detalhe — peças precisam ser baixadas na mesma requests.Session. Manter as duas etapas numa só chamada evita refazer o GET do detalhe para cada peça.

Parameters

Name Type Description Default
id_cnj str | list[str] CNJ único ou lista. required
download_pecas bool Se True, baixa as peças junto. Default False. False
diretorio str | None Onde gravar as peças. Sobrescreve download_path para esta chamada. Quando omitido, usa download_path (que vira um tempfile.mkdtemp() se nada for passado ao construtor). None

Returns

Name Type Description
pd.DataFrame DataFrame com uma linha por CNJ. Colunas: id_cnj, processo,
pd.DataFrame classe, assunto, data_distribuicao, orgao_julgador,
pd.DataFrame jurisdicao, polo_ativo, polo_passivo, movimentacoes,
pd.DataFrame documentos (metadados). Quando download_pecas=True, ganha
pd.DataFrame ainda a coluna pecas com a lista de caminhos salvos.

Raises

Name Type Description
TypeError Kwarg desconhecido.
BotChallengeBlockedError Akamai bloqueou o IP (HTTP 403 “Access Denied”). Aguarde alguns minutos ou troque de IP.

cpopg_download

courts.trf5.client.TRF5Scraper.cpopg_download(id_cnj, **kwargs)

Download the detail HTML for each id_cnj.

Returns a list aligned with the input order. None entries indicate processes the public consultation could not return — typically sigilo, invalid CNJ, ou qualquer erro transiente (rede, payload inesperado do PJe, falha de extração de token). Falhas individuais não interrompem o batch: o CNJ problemático vira None e o loop segue para o próximo, igual ao padrão do TJSP.

cpopg_parse

courts.trf5.client.TRF5Scraper.cpopg_parse(htmls, id_cnj_list)

Parse a list of detail HTMLs into a one-row-per-process DataFrame.

Rows for None entries (process not found) carry id_cnj plus None in every other column, so callers can still distinguish “looked up but missing” from “never tried”. Um HTML que sobreviveu ao download mas falhou no parse vira o mesmo formato (linha só com id_cnj) e o batch continua — assim um erro pontual não derruba a coleta inteira.