courts.tjpe.client.TJPEScraper

courts.tjpe.client.TJPEScraper()

Scraper for the Tribunal de Justica de Pernambuco.

Methods

Name Description
cjsg Busca jurisprudencia no TJPE.
cjsg_download Baixa as paginas brutas do cjsg do TJPE.
cjsg_parse Parseia as paginas brutas de cjsg_download em DataFrame.
cpopg Consulta processos de 1º grau na consulta pública do PJe do TJPE.
cposg Stub: second instance case consultation not implemented for TJPE.

cjsg

courts.tjpe.client.TJPEScraper.cjsg(
    pesquisa=None,
    paginas=None,
    data_julgamento_inicio=None,
    data_julgamento_fim=None,
    relator=None,
    classe=None,
    assunto=None,
    meio_tramitacao=None,
    tipo_decisao='acordaos',
    **kwargs,
)

Busca jurisprudencia no TJPE.

Wrapper trivial (download → parse) sobre cjsg_download. O backend e JSF/RichFaces: o fluxo carrega o ViewState da consulta.xhtml e propaga entre requests; a paginacao usa AJAX RichFaces em resultado.xhtml retornando XML envolto em <![CDATA[HTML]]>.

Parameters

Name Type Description Default
pesquisa str Termo de busca livre (ementa). Aceita os aliases deprecados query / termo. None
paginas int | list | range | None Paginas 1-based; None baixa todas. Default None. None
data_julgamento_inicio str Data inicial de julgamento (DD/MM/AAAA, DD-MM-AAAA, AAAA-MM-DD, AAAA/MM/DD, datetime.date ou datetime.datetime). None
data_julgamento_fim str Data final de julgamento (mesmos formatos de data_julgamento_inicio). None
relator str Nome do relator (deve bater exatamente com o valor do dropdown do formulario). None
classe str Codigo CNJ da classe. Aceita o alias deprecado classe_cnj. None
assunto str Codigo CNJ do assunto. Aceita o alias deprecado assunto_cnj. None
meio_tramitacao str Filtro de meio de tramitacao (ex.: "ELETRONICO"). None
tipo_decisao str "acordaos" (default), "monocraticas" ou "todos". Quando "todos", o backend marca os dois checkboxes e o fluxo passa pela pagina de escolha (escolhaResultado.xhtml). 'acordaos'

Todos os filtros do schema InputCJSGTJPE estao listados acima como parametros nomeados. O **kwargs so e exposto para absorver aliases deprecados (listados abaixo) e qualquer kwarg desconhecido vira TypeError via raise_on_extra_kwargs.

Aliases deprecados (popados com DeprecationWarning antes do pydantic): * query / termo -> pesquisa * classe_cnj -> classe * assunto_cnj -> assunto * data_inicio / data_fim -> data_julgamento_inicio / _fim * data_julgamento_de / _ate -> data_julgamento_inicio / _fim

Raises

Name Type Description
TypeError Quando um kwarg desconhecido e passado.
ValueError Quando um canonico e seu alias deprecado sao passados simultaneamente.
ValidationError Quando um filtro tem formato invalido (ex.: data fora dos formatos aceitos, tipo_decisao fora do enum).

Returns

Name Type Description
pd.DataFrame pd.DataFrame: Uma linha por decisao. Colunas canonicas: processo, classe, assunto, relator, orgao_julgador, data_julgamento, data_publicacao, ementa, acordao, meio_tramitacao, url_inteiro_teor.

Exemplo

>>> import juscraper as jus
>>> tjpe = jus.scraper("tjpe")
>>> df = tjpe.cjsg("dano moral", paginas=range(1, 3),
...                tipo_decisao="acordaos")

See also

InputCJSGTJPE — schema pydantic e a fonte da verdade dos filtros aceitos.

cjsg_download

courts.tjpe.client.TJPEScraper.cjsg_download(
    pesquisa=None,
    paginas=None,
    data_julgamento_inicio=None,
    data_julgamento_fim=None,
    relator=None,
    classe=None,
    assunto=None,
    meio_tramitacao=None,
    tipo_decisao='acordaos',
    **kwargs,
)

Baixa as paginas brutas do cjsg do TJPE.

Aceita os mesmos filtros de cjsg; veja la a lista completa.

Returns

Name Type Description
list list Lista de strings HTML brutas, uma por pagina.

cjsg_parse

courts.tjpe.client.TJPEScraper.cjsg_parse(raw_pages)

Parseia as paginas brutas de cjsg_download em DataFrame.

cpopg

courts.tjpe.client.TJPEScraper.cpopg(
    id_cnj,
    download_pecas=False,
    diretorio=None,
    **kwargs,
)

Consulta processos de 1º grau na consulta pública do PJe do TJPE.

Delega a TJPEConsultaPublicaScraper, que reaproveita o fluxo dos TRFs (juscraper.courts._trf.base.TRFConsultaScraper.cpopg). Processo sob segredo de justiça não aparece na consulta pública e sai como linha só com id_cnj, igual a processo inexistente.

O site fica atrás de um AWS WAF que desafia de forma intermitente. Quando o desafio aparece, o cookie aws-waf-token é obtido com o Playwright (extra juscraper[waf], seguido de playwright install chromium); sem desafio, nada disso é preciso.

Parameters

Name Type Description Default
id_cnj str | list[str] CNJ único ou lista, com ou sem máscara. required
download_pecas bool Se True, baixa também as peças públicas (HTML do visualizador do PJe). Default False. False
diretorio str | None Onde gravar as peças, em <diretorio>/<cnj>/<id>.html. Default None (diretório temporário). None

Returns

Name Type Description
pd.DataFrame pd.DataFrame: Uma linha por CNJ. Colunas: id_cnj, processo, classe, assunto, data_distribuicao, orgao_julgador, jurisdicao, endereco_orgao, polo_ativo, polo_passivo, movimentacoes, documentos; com download_pecas=True, também pecas.

Raises

Name Type Description
TypeError Kwarg desconhecido.
ImportError O WAF desafiou e o Playwright não está instalado, inclusive durante o download das peças.
WafChallengeError O WAF desafiou de novo logo após a renovação do cookie, ou o cookie não pôde ser obtido (Chromium do Playwright ausente, cookie não emitido no prazo). Interrompe o lote.

Exemplo

>>> import juscraper as jus
>>> tjpe = jus.scraper("tjpe")
>>> df = tjpe.cpopg("0000000-00.0000.8.17.0000")

See also

InputCpopgTRF — schema pydantic e a fonte da verdade dos parâmetros aceitos.

cposg

courts.tjpe.client.TJPEScraper.cposg(id_cnj)

Stub: second instance case consultation not implemented for TJPE.