courts.tjpi.client.TJPIScraper
courts.tjpi.client.TJPIScraper(
verbose=0,
download_path=None,
sleep_time=1.0,
**kwargs,
)Scraper for the Tribunal de Justica do Piaui (TJPI).
Uses the JusPI search interface at jurisprudencia.tjpi.jus.br. Results are HTML-based (server-rendered) and parsed with BeautifulSoup.
Methods
| Name | Description |
|---|---|
| cjsg | Busca jurisprudência no TJPI. |
| cjsg_download | Download raw HTML pages from TJPI. |
| cjsg_parse | Parse downloaded HTML pages. |
| cpopg | Stub: first instance case consultation not implemented for TJPI. |
| cposg | Stub: second instance case consultation not implemented for TJPI. |
cjsg
courts.tjpi.client.TJPIScraper.cjsg(
pesquisa=None,
paginas=None,
tipo=None,
relator=None,
classe=None,
orgao=None,
**kwargs,
)Busca jurisprudência no TJPI.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| pesquisa | str |
Termo de busca livre. | None |
| paginas | int | list | range | None |
Páginas 1-based; None baixa todas. Default None. |
None |
| tipo | str |
Tipo de decisão. Opções: "Acordao", "Decisao Terminativa", "Sumula". |
None |
| relator | str |
Nome do relator (deve bater com o valor do dropdown). | None |
| classe | str |
Classe processual (deve bater com o valor do dropdown). | None |
| orgao | str |
Órgão julgador (deve bater com o valor do dropdown). | None |
| **kwargs | Filtros aceitos pelo schema InputCJSGTJPI. Listados abaixo (todos opcionais; None = sem filtro): * data_julgamento_inicio / data_julgamento_fim (str): YYYY-MM-DD. Mapeado para data_min/data_max no GET (refs #94). |
{} |
Aliases deprecados (popados com DeprecationWarning antes do pydantic): * query / termo -> pesquisa * 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 é passado (inclusive data_publicacao_*, que o backend não expõe). |
|
ValidationError |
Quando um filtro tem formato inválido. | |
ValueError |
Com paginas=None, quando a primeira página não permite fixar o total de páginas; os casos estão em juscraper.utils.pagination.resolve_total_pages. O scraper levanta em vez de estimar. |
Returns
| Name | Type | Description |
|---|---|---|
pd.DataFrame |
pd.DataFrame: DataFrame com as decisões. |
See also
InputCJSGTJPI — schema pydantic é a fonte da verdade dos filtros aceitos.
cjsg_download
courts.tjpi.client.TJPIScraper.cjsg_download(
pesquisa=None,
paginas=None,
tipo=None,
relator=None,
classe=None,
orgao=None,
**kwargs,
)Download raw HTML pages from TJPI.
Aceita os mesmos filtros de cjsg; veja lá a lista completa.
Returns
list List of raw HTML strings (one per page).
Raises
ValueError Com paginas=None, quando a primeira página não permite fixar o total de páginas; ver cjsg.
cjsg_parse
courts.tjpi.client.TJPIScraper.cjsg_parse(resultados_brutos)Parse downloaded HTML pages.
Returns
pd.DataFrame
cpopg
courts.tjpi.client.TJPIScraper.cpopg(id_cnj)Stub: first instance case consultation not implemented for TJPI.
cposg
courts.tjpi.client.TJPIScraper.cposg(id_cnj)Stub: second instance case consultation not implemented for TJPI.