Skip to content

Instantly share code, notes, and snippets.

@jtrecenti
Created February 20, 2025 23:36
Show Gist options
  • Save jtrecenti/789bfef6c99c93d6f50507574275732f to your computer and use it in GitHub Desktop.
Save jtrecenti/789bfef6c99c93d6f50507574275732f to your computer and use it in GitHub Desktop.
import pandas as pd
import os
import requests
from urllib.parse import urlencode
import json
ses = requests.Session()
# download da lista de processos ----------------------------------------------
# usei como critério "*", o que resultou em 9645
# decisões na jurisprudência.
u_base = 'https://jurisprudencia.cade.gov.br/api/select/'
for i in range(10):
arquivo = f'json/cade_{(i+1):02d}_de_10.json'
print(arquivo)
if not os.path.exists(arquivo):
query = (
('q', 'conteudo:*'),
('start', str(1000*i)),
('rows', '1000'), # mesmo que não tenha a opção no site, funciona
('fq', 'descricao_tipo_acesso:("PUBLICO")'),
('hl.maxAnalyzedChars', '-1'),
('fq', 'colecao:("jurisprudencia")'),
('hl', 'on'),
('sort', 'data_ordem%20desc')
)
r = ses.get(u_base, params = urlencode(query, safe='():%'))
with open(arquivo, 'w') as f:
json.dump(r.json(), f)
# parse da lista de processos ------------------------------------------------
# aqui, obtemos um DataFrame com os resultados da pesquisa
arquivos = ['json/' + i for i in os.listdir('json/')]
df = []
for arquivo in arquivos:
with open(arquivo, 'r') as f:
r = json.load(f)
docs = r['response']['docs']
df.append(pd.DataFrame(docs))
df = pd.concat(df)
df.shape
df.to_parquet('cade.parquet')
df.info()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment