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.