')
lista_partes = []
for parte in partes[1:]:
tipo = extrair(parte, 'detalhe-parte">', '<').upper()
tipo = tipo.replace('REQTE.(S)','REQTE')
tipo = tipo.replace('INTDO.(A/S)','INTDO')
tipo = tipo.replace('REQDO.(A/S)','INTDO')
tipo = tipo.replace('ADV.(A/S)','ADV')
tipo = tipo.replace('AM. CURIAE.','AMICUS')
tipo = tipo.replace('PROC.(A/S)(ES)','ADV/PUB')
tipo = limpar(tipo)
nome = extrair(parte, '"nome-parte">', '<').upper()
nome = ajustar_nome(nome)
if tipo == 'ADV' or tipo == 'ADV/PUB':
if "(" in nome:
nome = extrair(nome, '', '(')
nome = nome.strip()
nome = nome.replace(' ',' ')
lista_partes.append([nome, tipo, processo])
return lista_partes
def extrair_andamentos(string):
string = remover_acentos(string)
string = limpar(limpar(string))
andamentos = string.split('
')
if docs == ' ' or docs == '':
docs = 'NA'
if 'href=' in docs:
docs = extrair(docs,'href="', '"')
julgador = extrair(andamento, 'julgador badge bg-info ">','').upper()
#print ([ordem, data, nome, complemento, docs, julgador])
lista_andamentos.append([ordem, data, nome, complemento, docs, julgador])
return lista_andamentos
def solicitar_dados_Juris (classe, numero):
url = ('http://portal.stf.jus.br/processos/listarProcessos.asp?classe='
+ classe
+'&numeroProcesso='
+ numero)
print (url)
# Módulo básico de extração
string = requests.get(url).text
inicio = string.find('
')
return (url + ">>>>> \n" + string[inicio:])
def solicitar_dados_CC (classe, numero):
url = ('http://www.stf.jus.br/portal/peticaoInicial/verPeticaoInicial.asp?base='
# url = ('http://www.stf.jus.br/portal/peticaoInicial/verPeticaoInicial.asp?base='
+ classe
+ '&documento=&s1=1&numProcesso='
+ numero)
print (url)
# Módulo básico de extração
user_agent = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
string = requests.get(url, headers = user_agent).text
inicio = string.find('processo/verProcessoAndamento.asp?')
return (url + ">>>>> \n" + string[inicio:])
url = 'http://www.stf.jus.br/portal/pauta/listarCalendario.asp?data=03/03/2021'
html = requests.head
def solicitar_dados_mono (classe, numero):
url = ('http://stf.jus.br/portal/jurisprudencia/listarJurisprudencia.asp?s1=%28'
+ classe
+'%24%2ESCLA%2E+E+'
+ numero
+ '%2ENUME%2E%29+NAO+S%2EPRES%2E&base=baseMonocraticas')
print (url)
# Módulo básico de extração
user_agent = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
string = requests.get(url, headers = user_agent).text
inicio = string.find('
')
return (url + ">>>>> \n" + string[inicio:])
def solicitar_dados_AP (classe, numero):
url = ('http://portal.stf.jus.br/processos/listarProcessos.asp?classe='
+ classe
+ '&numeroProcesso='
+ numero)
print ('url: ' + url)
user_agent = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
string = requests.get(url, headers = user_agent)
string.encoding = 'utf-8'
htmlfonte = string.text
htmlfonte = extrair(htmlfonte,
'
',
'
')
return (url + ">>>>> \n" + htmlfonte)
def solicitar_dados (dominio, path, querry):
user_agent = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
html = requests.get(dominio+path+querry, headers = user_agent)
html.encoding = 'utf-8'
html = html.text
return html
def get2 (url):
# user_agent = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
html = requests.get(url)
# html.encoding = 'utf-8'
html = html.text
return html
def get_utf8 (url):
user_agent = {'User-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'}
html = requests.get(url, headers = user_agent)
html.encoding = 'utf-8'
html = html.text
return html
def carregar_arquivo_composto (classe, numero, path):
nomedoarquivo = (path + classe + str(0)*(4-len(numero)) + numero + '.html')
arquivoaberto = (classe + str(0)*(4-len(numero)) + numero + '.html')
print (nomedoarquivo)
arquivo = open(nomedoarquivo, 'r', encoding='utf-8')
html = arquivo.read()
arquivo.close()
return arquivoaberto, html
def gerador_de_lista (path, classe, numeroinicial, numerofinal):
lista = []
for n in range (int(numerofinal) - int(numeroinicial) + 1):
numero = numerofinal-n
nomedoarquivo = (path + classe + str(0)*(4-len(str(numero))) + str(numero) + '.html')
if nomedoarquivo in os.listdir(path):
lista.append(nomedoarquivo)
return lista
def gerar_lista (classe, numeroinicial, numerofinal, path):
lista = []
for item in range(int(numerofinal) - int(numeroinicial) +1):
nomedoarquivo = (path + classe + ('0')*(4-len(str(item))) + str(item) + '.html')
print (nomedoarquivo)
lista.append(nomedoarquivo)
return (lista)
def gerar_nome_arquivo (classe, numero, path):
nomedoarquivo = (path + classe + str(0)*(4-len(numero)) + numero + '.html')
return (nomedoarquivo)
def carregar_arquivo (nomedoarquivo):
arquivo = open(nomedoarquivo, 'r', encoding='utf-8')
html = arquivo.read()
arquivo.close()
return html
def gravar_dados_no_arquivo (classe, numero, path, dados):
nomedoarquivo = (path + classe + str(0)*(4-len(numero)) + numero + '.txt')
arquivo = open(nomedoarquivo, 'w', encoding='utf-8')
arquivo.write(dados)
arquivo.close
#repetido
def gravar_dados_no_arquivo_nome (nomedoarquivo, dados):
arquivo = open(nomedoarquivo, 'w', encoding='utf-8')
arquivo.write(dados)
arquivo.close
def extrair_da_lista (relacao_de_arquivos, path):
nomedoarquivo = relacao_de_arquivos.pop()
arquivo = open(path + nomedoarquivo, 'r', encoding='utf-8')
html = arquivo.read()
arquivo.close()
return nomedoarquivo, html
def limpa_estado(string):
estados = [['ACRE', '/AC'],
['ALAGOAS', '/AL'],
['AMAPA', '/AP'],
['AMAZONAS', '/AM'],
['BAHIA', '/BA'],
['CEARA', '/CE'],
['DISTRITO FEDERAL', '/DF'],
['ESPIRITO SANTO', '/ES'],
['GOIAS', '/GO'],
['MARANHAO', '/MA'],
['MATO GROSSO DO SUL', '/MS'],
['MATO GROSSO', '/MT'],
['MINAS GERAIS', '/MG'],
['PARAIBA', '/PB'],
['PARANA', '/PR'],
['PERNAMBUCO', '/PE'],
['PIAUI', '/PI'],
['RIO DE JANEIRO', '/RJ'],
['RIO GRANDE DO NORTE', '/RN'],
['RIO GRANDE DO SUL', '/RS'],
['RONDONIA', '/RO'],
['RORAIMA', '/RR'],
['SANTA CATARINA', '/SC'],
['SAO PAULO', '/SP'],
['SERGIPE', '/SE'],
['PARA', '/PA'],
['TOCANTINS', '/TO']
]
for item in estados:
string = string.replace(item[0],item[1])
return string
def estado_nome_completo(string):
estados = [['ACRE', '/AC'],
['ALAGOAS', '/AL'],
['AMAPA', '/AP'],
['AMAZONAS', '/AM'],
['BAHIA', '/BA'],
['CEARA', '/CE'],
['DISTRITO FEDERAL', '/DF'],
['ESPIRITO SANTO', '/ES'],
['GOIAS', '/GO'],
['MARANHAO', '/MA'],
['MATO GROSSO DO SUL', '/MS'],
['MATO GROSSO', '/MT'],
['MINAS GERAIS', '/MG'],
['PARAIBA', '/PB'],
['PARANA', '/PR'],
['PERNAMBUCO', '/PE'],
['PIAUI', '/PI'],
['RIO DE JANEIRO', '/RJ'],
['RIO GRANDE DO NORTE', '/RN'],
['RIO GRANDE DO SUL', '/RS'],
['RONDONIA', '/RO'],
['RORAIMA', '/RR'],
['SANTA CATARINA', '/SC'],
['SAO PAULO', '/SP'],
['SERGIPE', '/SE'],
['PARA', '/PA'],
['TOCANTINS', '/TO']
]
for item in estados:
string = string.replace(item[1],item[0])
return string
def siglas():
return ['AC',
'AL',
'AP',
'AM',
'BA',
'CE',
'DF',
'ES',
'GO',
'MA',
'MS',
'MT',
'MG',
'PB',
'PR',
'PE',
'PI',
'RJ',
'RN',
'RS',
'RO',
'RR',
'SC',
'SP',
'SE',
'PA',
'TO']
# funções de limpeza
def limpar_numero(numero):
numero = numero.replace('','')
numero = numero.replace('','')
numero = "0"*(4-len(numero))+numero
return numero
def limpar_classe(string):
string = limpar(string)
string = string.replace('ACAO DIRETA DE INCONSTITUCIONALIDADE','ADI')
string = string.replace('ACAO DIRETA DE INCONSTITUCI0NALIDADE','ADI')
string = string.replace('7CAO DIRETA DE INCONSTITUCIONALIDADE','ADI')
string = string.replace('01CAO DIRETA DE INCONSTITUCIONALIDADE','ADI')
string = string.replace('CAO DIRETA DE INCONSTITUCIONALIDADE','ADI')
string = string.replace('PACAO DIRETA DE INCONSTITUCIONALIDADE','ADI')
string = string.replace('sACAO DIRETA DE INCONSTITUCIONALIDADE','ADI')
string = string.replace('ARGUICAO DE DESCUMPRIMENTO DE PRECEITO FUNDAMENTAL','ADPF')
def limpar_cln(string):
string = string.upper()
string = remover_acentos(string)
string = string.replace ('( MED','(MED')
string = string.replace ('E(MED','E (MED')
string = string.replace ('(LIMINAR)','(MED. LIMINAR)')
string = string.replace ('E MED.','E (MED')
string = string.replace ('CAUTELAR','LIMINAR')
def limpar_decisao (string):
string = string.replace('\n','')
string = string.replace('\t','')
string = string.replace(' ','')
string = string.replace(' ',' ')
string = string.upper()
string = remover_acentos(string)
return string
def limpar_arquivo(nomedoarquivo):
arquivoaberto = open(nomedoarquivo, mode='w',
encoding="utf-8", newline='')
arquivoaberto.close()
def esperar (segundos, ciclos, variavel0):
if variavel0%ciclos == 0 and variavel0 != 0:
print ('espera ' + str(variavel0))
time.sleep(segundos)
#repetido
def write_csv_line (nomedoarquivo,dados):
if dados != []:
arquivoaberto = open(nomedoarquivo, mode='a+', encoding="utf-8", newline='')
arquivoaberto_csv = csv.writer(arquivoaberto, delimiter=',', quotechar = '"')
arquivoaberto_csv.writerow(dados)
arquivoaberto.close()
#repetido
def write_csv_lines (nomedoarquivo, dados):
if dados != []:
arquivoaberto = open(nomedoarquivo, mode='a+',
encoding="utf-8", newline='')
arquivoaberto_csv = csv.writer(arquivoaberto, delimiter=',', quotechar = '"')
arquivoaberto_csv.writerows(dados)
arquivoaberto.close()
def extrai_acordaos_da_string (arquivo_a_extrair, path): # usar duas contra-barras depois do nome
if arquivo_a_extrair in os.listdir(path):
nome_do_arquivo = str(path+arquivo_a_extrair)
acordaos = carregar_arquivo (nome_do_arquivo)
# print (arquivo_a_extrair)
n_acordaos = extrair(acordaos,'Documentos encontrados: ','')
acordaos_publicados = []
adi_decisao = 'NA'
acordaos_publicados = []
acordaos_adi = []
acordaos_agr = []
acordaos_emb = []
acordaos_qo = []
acordaos_outros = []
if "Nenhum registro encontrado" in acordaos:
decisao_colegiada = []
else:
decisao_colegiada = []
for decisoes in range (int(n_acordaos)):
acordaos_adi = []
acordaos_emb = []
acordaos_agr = []
acordaos_qo = []
acordaos_outros = []
lista_processos_citados = []
lista_procesoss_citados_com_tema = []
acordao_tipo = 'NA'
processo_juris = 'NA'
relator_juris = 'NA'
data_acordao = 'NA'
orgao_julgador_acordao = 'NA'
publicacao_acordao = 'NA'
ementa = 'NA'
decisao_juris = 'NA'
legislacao = 'NA'
observacao = 'NA'
doutrina = 'NA'
acordaos = acordaos.replace ('/n/n','/n')
acordaos = acordaos.replace ('/t','')
processo_juris = extrair(acordaos,'''