Created
February 20, 2025 23:36
-
-
Save jtrecenti/789bfef6c99c93d6f50507574275732f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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