API que busca dados de um processo em todos os graus dos Tribunais de Justiça de São Paulo (TJSP), Alagoas (TJAL) e do Ceará (TJCE).
A api recebe o número do processo, que deve seguir o padrão do Conselho Nacional de Justiça para numeração de processos jurídicos.
Quando o processamento termina, o usuário é capaz de coletar os dados em formato JSON.
Endereços utilizados para as consultas de processos:
- TJAL
- 1º grau - https://www2.tjal.jus.br/cpopg/open.do
- 2º grau - https://www2.tjal.jus.br/cposg5/open.do
- TJCE
- 1º grau - https://esaj.tjce.jus.br/cpopg/open.do
- 2º grau - https://esaj.tjce.jus.br/cposg5/open.do
- TJSP
- 1º grau - https://esaj.tjsp.jus.br/cpopg/open.do
- 2º grau - https://esaj.tjsp.jus.br/cposg/open.do
Dados coletados:
- classe
- área
- assunto
- data de distribuição
- juiz
- valor da ação
- partes do processo
- lista das movimentações
Exemplos de números de processos podem ser encontrados nos diários oficiais
- Diário oficial de Alagoas: jusbrasil.com.br/diarios/DJAL/
- Diário de justiça do estado do Ceará: jusbrasil.com.br/diarios/DJCE/
- Diário de justiça do estado de São Paulo: jusbrasil.com.br/diarios/DJSP/
Foi feito deploy da aplicação em nuvem com Deta Space.
Está disponível em: https://jus_crawler-1-e8456548.deta.app
A documentação da API pode ser acessada em: https://jus_crawler-1-e8456548.deta.app/docs
space push
№ | Path | Description |
---|---|---|
1. | source/ | Diretório com toda a lógica do projeto |
2. | source/controller | Métodos/endpoints da API |
3. | source/models | Classes com informações necessárias para processar as requisições da API |
4. | source/services/collect.py | Implementação do crawler com métodos de busca e parsing dos dados |
5. | source/services/parse.py | Métodos utilizados pelo crawler para parsing dos dados |
6. | source/services/tribunais_mapper.py | Estruturas que concentram todas as informações necessárias dos tribunais suportados (nome, número e domínio do site) |
7. | source/services/validate.py | Schemas contendo as regras para validação dos dados de input com Cerberus |
8. | front-end/ | Diretório contendo arquivos estáticos e templates HTML |
9. | README.md | Arquivo atual com a documentação do projeto |
10. | requirements.txt | Lista dos pacotes utilizados no projeto |
Na branch async-tjal
encontra-se o código com implementação de processamento assíncrono. Essa funcionalidade
reduziu o tempo de resposta da API, possibilitando a busca e retorno dos dados em menos de 2 segundos (em média).
Porém, uma limitação foi encontrada para estabelecer conexão com o site do TJCE utilizando essa funcionalidade. A mensagem de erro pode ser visualizada abaixo:
aiohttp.client_exceptions.ClientConnectorSSLError: Cannot connect to host esaj.tjce.jus.br:443 ssl:default [TLS/SSL connection has been closed (EOF)]
Portanto, atualmente é possível utilizar o processamento assíncrono apenas para buscar informações de processos do TJAL.
Using pyenv
pyenv install 3.11.3
pyenv virtualenv 3.11.3 env-jus_crawler
pyenv activate env-jus_crawler
pyenv local env-jus_crawler # opcional
pip install --upgrade pip
pip install -r requirements.txt
uvicorn source.main:app --reload
App will be available in http://127.0.0.1:8000
Swagger API's documentation will be available in http://127.0.0.1:8000/docs