aggregators.falcao.client.FalcaoScraper

aggregators.falcao.client.FalcaoScraper(
    verbose=1,
    download_path=None,
    sleep_time=1.0,
)

Scraper para a Jurisprudencia Nacional da Justica do Trabalho (CSJT).

Methods

Name Description
listar_decisoes Consulta a Jurisprudencia Nacional da Justica do Trabalho.
listar_decisoes_download Baixa as paginas cruas (JSON) da busca para um diretorio.
listar_decisoes_parse Le os arquivos JSON baixados por listar_decisoes_download.

listar_decisoes

aggregators.falcao.client.FalcaoScraper.listar_decisoes(
    pesquisa=None,
    paginas=None,
    **kwargs,
)

Consulta a Jurisprudencia Nacional da Justica do Trabalho.

Baixa as páginas para um diretório próprio no temporário do sistema (tempfile.gettempdir()), sem usar download_path, e o remove após devolver o resultado parseado. Se a coleta ou o parsing falhar, preserva as páginas recebidas nesse diretório e informa o caminho em uma nota da exceção. Recupere esse resultado parcial com listar_decisoes_parse; não há retomada automática. Para guardar também coletas completas, use listar_decisoes_download.

Parameters

Name Type Description Default
pesquisa str Termo de busca livre (parametro texto). Obrigatorio. None
paginas int | list | range | None Paginas 1-based; None baixa todas as disponiveis, ate o teto de 10000 resultados do backend (acima dele, emite UserWarning). Default None. Páginas selecionadas além do teto são ignoradas sem requisição. None
**kwargs Filtros aceitos pelo schema InputListarDecisoesFalcao. Listados abaixo (todos opcionais salvo indicacao): * colecao (str): Colecao alvo. Uma de acordaos, sentencas, decisoesmonocraticas, precedentes, recursorevista. Default "acordaos". precedentes devolve enunciados (sumulas, OJs), nao decisoes. * tamanho_pagina (int): Documentos por pagina. So 5 ou 10 (limite do backend para usuario nao autenticado). Default 10. * tribunais (str | list[str]): Sigla(s) de tribunal ("TST", "TRT3", …). Backend: tribunais. * relator (str | list[str]): Nome(s) de relator. Backend: nomeRelator. * orgao_julgador (str | list[str]): Backend: orgaoJulgador. * classe (str | list[str]): Sigla(s) da classe processual ("ROT", "ATOrd"), a mesma da coluna de saida classe_sigla. O nome por extenso devolve zero resultados sem erro. Backend: classeProcesso. * fase_processual (str | list[str]): Backend: faseProcessual. * prioridade (str | list[str]): Backend: prioridade. * tem_ementa (bool): Restringe a documentos com/sem ementa. * somente_ementa (bool): Busca texto so nas ementas. * ordenacao (str): mais_relevante (default do backend), mais_recente ou menos_recente. * data_juntada_inicio / data_juntada_fim (str): Intervalo de data de juntada. Aceita DD/MM/AAAA, AAAA-MM-DD ou date; convertido para ISO antes do backend (dataInicio / dataFim). Cada limite pode ser usado sozinho. {}

Aliases deprecados (popados com DeprecationWarning antes do pydantic): * query / termo -> pesquisa

Returns

Name Type Description
pd.DataFrame pd.DataFrame: Uma linha por documento. Colunas canonicas
garantidas pd.DataFrame processo, colecao, tribunal, relator,
pd.DataFrame classe, classe_sigla e, quando a colecao os expoe,
pd.DataFrame ementa (texto sem HTML), data_julgamento e
pd.DataFrame data_juntada. Os demais campos brutos da colecao sao
pd.DataFrame preservados, exceto os highlight* (ver
pd.DataFrame class:OutputListarDecisoesFalcao).

Raises

Name Type Description
TypeError Quando um kwarg desconhecido e passado (inclusive diretorio, que so listar_decisoes_download aceita).
ValidationError Quando pesquisa falta ou um filtro tem valor invalido (colecao/tamanho_pagina/ordenacao fora do dominio).
ValueError Quando uma data e invalida, o intervalo esta invertido ou o backend recusa a busca (403 com mensagem).
BotChallengeBlockedError Quando o WAF (CloudFront) bloqueia a requisicao.
requests.HTTPError Quando o backend bloqueia o IP por excesso de requisicoes (429 com espera de horas).
BaseException Falhas de coleta, parsing ou interrupção manual são propagadas com nota sobre as páginas preservadas, se houver.

Exemplo

>>> import juscraper as jus
>>> falcao = jus.scraper("falcao")
>>> df = falcao.listar_decisoes("dano moral", paginas=range(1, 3),
...                  tribunais=["TST", "TRT3"])

See also

InputListarDecisoesFalcao – schema pydantic e a fonte da verdade dos filtros aceitos.

listar_decisoes_download

aggregators.falcao.client.FalcaoScraper.listar_decisoes_download(
    pesquisa=None,
    paginas=None,
    diretorio=None,
    **kwargs,
)

Baixa as paginas cruas (JSON) da busca para um diretorio.

Mesma validacao e filtros de listar_decisoes (veja la a lista completa de **kwargs). Cada chamada cria um subdiretorio proprio falcao_{colecao}_<sufixo aleatorio>, entao buscas diferentes no mesmo diretorio nunca se misturam. Cada pagina vira um arquivo {colecao}_{pagina:04d}.json.

Parameters

Name Type Description Default
pesquisa str Termo de busca. Obrigatorio. None
paginas int | list | range | None Paginas 1-based; None = todas. Default None. None
diretorio str | None Sobrescreve download_path para esta chamada. Default None (usa o download_path do scraper, que sem configuracao e um diretorio temporario criado no primeiro uso). Cria a pasta e seus pais quando não existem. None

Returns

Name Type Description
str str Caminho do subdiretorio com os arquivos JSON baixados.

See also

listar_decisoes – lista completa de filtros aceitos.

listar_decisoes_parse

aggregators.falcao.client.FalcaoScraper.listar_decisoes_parse(diretorio)

Le os arquivos JSON baixados por listar_decisoes_download.

Percorre diretorio recursivamente, entao aceita tanto o caminho devolvido por listar_decisoes_download quanto a pasta-mae que junta varias buscas. A colecao de cada arquivo e inferida do prefixo do nome ({colecao}_{pagina}.json).

Parameters

Name Type Description Default
diretorio str | Path Pasta com os arquivos JSON. required

Returns

Name Type Description
pd.DataFrame pd.DataFrame: Resultados concatenados (veja listar_decisoes para as
pd.DataFrame colunas canonicas).