aggregators.pdpj.client.PdpjScraper
aggregators.pdpj.client.PdpjScraper(
verbose=0,
download_path=None,
sleep_time=0.5,
token=None,
)Raspador para a API DATALAKE - Processos do PDPJ.
A API consome JWT do SSO PJe (mesmo provedor do JusBR), entao o uso tipico e: obter o token via portal do PDPJ logado, chamar :meth:auth e usar os endpoints de consulta/download.
Methods
| Name | Description |
|---|---|
| auth | Define o JWT usado em todas as chamadas autenticadas. |
| contar | Total de processos que casam com os filtros (/processos:contar). |
| cpopg | Recupera os detalhes de processo(s) via API /processos/{n}. |
| documentos | Lista documentos do(s) processo(s) (sem baixar conteudo). |
| download_documents | Baixa textos e/ou binarios dos documentos listados. |
| existe | Checa presenca de processo(s) no Data Lake. |
| movimentos | Lista movimentos do(s) processo(s). |
| partes | Lista partes do(s) processo(s). |
| pesquisa | Busca profunda em GET /api/v1/processos (com paginacao). |
auth
aggregators.pdpj.client.PdpjScraper.auth(token)Define o JWT usado em todas as chamadas autenticadas.
Decodifica sem verificar assinatura (algoritmo gerado pelo PDPJ) para validar o formato e capturar tokens expirados antes de tentar usar.
Raises
| Name | Type | Description |
|---|---|---|
| ValueError | Quando o token e malformado ou ja expirou. |
contar
aggregators.pdpj.client.PdpjScraper.contar(**kwargs)Total de processos que casam com os filtros (/processos:contar).
Aceita o mesmo subconjunto de filtros de :meth:pesquisa exceto os relacionados a paginacao/ordenacao. Retorna int.
cpopg
aggregators.pdpj.client.PdpjScraper.cpopg(id_cnj)Recupera os detalhes de processo(s) via API /processos/{n}.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| id_cnj | str | list[str] | Numero CNJ ou lista de numeros. | required |
Returns
| Name | Type | Description |
|---|---|---|
| pd.DataFrame | DataFrame com uma linha por tramitacao do processo. Colunas | |
| principais | pd.DataFrame | processo (CNJ pesquisado, dignos de digito), |
| pd.DataFrame | numero_processo (formatado pela API), sigla_tribunal, |
|
| pd.DataFrame | segmento_justica, data_atualizacao, detalhes |
|
| pd.DataFrame | (dict com a resposta completa). |
See also
documentos
aggregators.pdpj.client.PdpjScraper.documentos(id_cnj)Lista documentos do(s) processo(s) (sem baixar conteudo).
download_documents
aggregators.pdpj.client.PdpjScraper.download_documents(
base_df,
max_docs_per_process=None,
with_text=True,
with_binary=False,
)Baixa textos e/ou binarios dos documentos listados.
base_df pode vir de :meth:documentos (uma linha por documento, ja com id_documento e numero_processo) ou de :meth:cpopg (uma linha por processo com detalhes – nesse caso a lista de documentos e extraida de detalhes['documentos']).
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| base_df | pd.DataFrame | DataFrame fonte das chamadas. | required |
| max_docs_per_process | int | None | Limite de documentos baixados por processo. None = sem limite. |
None |
| with_text | bool | Se True (default), baixa o texto via /documentos/{id}/texto. |
True |
| with_binary | bool | Se True, baixa o binario via /documentos/{id}/binario. Default False para nao consumir banda quando o usuario so quer texto. |
False |
Returns
| Name | Type | Description |
|---|---|---|
| pd.DataFrame | DataFrame com uma linha por documento. Inclui colunas | |
| pd.DataFrame | texto e binario (quando solicitados). |
Raises
| Name | Type | Description |
|---|---|---|
| ValueError | Quando with_text e with_binary sao ambos False. |
existe
aggregators.pdpj.client.PdpjScraper.existe(id_cnj)Checa presenca de processo(s) no Data Lake.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| id_cnj | str | list[str] | Numero CNJ unico (str) ou lista de numeros. |
required |
Returns
| Name | Type | Description |
|---|---|---|
| bool | pd.DataFrame | bool quando id_cnj e str; pd.DataFrame com |
|
| bool | pd.DataFrame | colunas processo e existe quando e list. |
See also
movimentos
aggregators.pdpj.client.PdpjScraper.movimentos(id_cnj)Lista movimentos do(s) processo(s).
partes
aggregators.pdpj.client.PdpjScraper.partes(id_cnj)Lista partes do(s) processo(s).
pesquisa
aggregators.pdpj.client.PdpjScraper.pesquisa(paginas=None, **kwargs)Busca profunda em GET /api/v1/processos (com paginacao).
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| paginas | int | list[int] | range | None | Intervalo 1-based. Aceita int (3 -> primeiras 3 paginas), list, range ou None (todas). |
None |
| **kwargs | Any | Filtros aceitos pelo schema :class:InputPesquisaPdpj (todos opcionais; None = sem filtro): * numero_processo (str) * numero_processo_sintetico (str) * id (str): id interno do processo no Data Lake * cpf_cnpj_parte (str): com formatacao * nome_parte (str) * polo_parte (str): “ATIVO” ou “PASSIVO” * situacao_parte (str) * nome_representante / oab_representante (str) * id_classe (str): codigos separados por virgula * id_assunto_judicial (str): ids separados por virgula * id_orgao_julgador (str | list[str]) * instancia (str): “PRIMEIRO_GRAU”/“SEGUNDO_GRAU”/etc. * segmento_justica (str): “JUSTICA_FEDERAL”/“JUSTICA_ESTADUAL”/etc. * tribunal (str): siglas separadas por virgula (max 5) * data_atualizacao_inicio / _fim (str): ISO datetime * data_primeiro_ajuizamento_inicio / _fim (str): ISO datetime * campo_ordenacao (str): campo de ordenacao decrescente * itens_por_pagina (int): default 100, max 100 |
{} |
Returns
| Name | Type | Description |
|---|---|---|
| pd.DataFrame | DataFrame com uma linha por processo retornado. |