def parser_acordaos(self,texto,cursor): numero = busca(r'\nNúmero do processo\:\s*?(\d{1,45})\n', texto) data_disponibilizacao = busca(r'\nPublicado em\s*?\:\s*?(\d{8})', texto) julgador = busca(r'\n\s*?Relator.*?\:(.*?)\n', texto) classe = busca(r'\n\s*?Classe\:(.*?)\)', texto) orgao_julgador = busca(r'\nInteiro teor\:\n\s*?(.*?)\n', texto, args=re.I) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('rr',numero, classe, data_disponibilizacao, orgao_julgador, julgador, texto))
def parse_sp_dados_2_inst(self, path_arquivos=path + '/sp_2_inst/'): cursor = cursorConexao() p = pdf_to_text() for arq in os.listdir(path_arquivos): try: if re.search(r'\.pdf', arq): texto = p.convert_pdfminer(path_arquivos + arq).strip().replace( '\\', '').replace('/', '').replace( '"', '') tribunal = 'sp' numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto, ngroup=0) polo_ativo = busca(r'apelante\s*?\:(.*?)\n', texto, args=re.I) polo_passivo = busca(r'apelado\s*?\:(.*?)\n', texto, args=re.I) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst_societario_processos (tribunal, numero, texto_decisao, polo_ativo, polo_passivo) values ("%s","%s","%s","%s","%s");' % (tribunal, numero, texto, polo_ativo, polo_passivo)) except Exception as e: print(arq) print(e)
def parser_acordaos(self,texto,cursor): numero = busca(r'\n(.*?)\(clique aqui para visualizar o processo\)', texto) data_disponibilizacao = busca(r'Data do registro do acordão\:\n(\d{2}/\d{2}/\d{4})',texto) julgador = busca(r'\nRelator.*?\:\n(.*?)\n',texto) orgao_julgador = busca(r'\n.rgão\:\n(.*?)\n',texto) if numero != '': cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('ma',numero, data_disponibilizacao, orgao_julgador, julgador, texto.replace('"','').replace('/','').replace('\\','')))
def parse_sp_dados_2_inst(self, cursor, lista_arquivos=None): if not lista_arquivos: lista_arquivos = os.listdir(path + '/sp_2_inst') p = pdf_to_text() for arq in lista_arquivos: try: if re.search(r'\.pdf', arq): texto = p.convert_pdfminer(path + '/sp_2_inst/' + arq).strip().replace( '\\', '').replace('/', '').replace( '"', '') tribunal = 'sp' numero = busca(r'[\d\.-]{15,25}', texto, ngroup=0) polo_ativo = busca(r'apelante\s*?\:(.*?)\n', texto, args=re.I) polo_passivo = busca(r'apelado\s*?\:(.*?)\n', texto, args=re.I) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst_antonio (tribunal, numero, texto_decisao, polo_ativo, polo_passivo) values ("%s","%s","%s","%s","%s");' % (tribunal, numero, texto, polo_ativo, polo_passivo)) except Exception as e: print(arq) print(e)
def parser_acordaos(self, arquivo, cursor, pdf_class): texto = pdf_class.convert_PyPDF2(arquivo) numero = busca(r'\d{3,7}\.\d{4}\.\d{6}\-\d{1}/\d{3}', texto, ngroup=0) classe = busca(r'ACÓRDÃO(.*?)N.\s*?\d{3,7}\.\d{4}\.\d{6}\-\d{1}/\d{3}', texto) julgador = busca(r'RELATOR.*?\:(.*?Des\..*?)\.', texto) data_disponibilizacao = busca(r'\.\s*?João Pessoa(.*?)\.', texto)[:44] cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, data_decisao, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('pb',numero, classe, data_disponibilizacao, julgador, texto.replace('"','').replace('\\','').replace('/','')))
def parser_acordaos(self,texto, cursor): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto,ngroup=0) julgador = busca(r'\n\s*?Relator.*?\:\n\s*?(.*?)', texto) orgao_julgador = busca(r'\n\s*?.rgão julgador.*?\n\s*?(.*?)/', texto) origem = busca(r'\nComarca de Origem\n(.+)', texto) data_disponibilizacao = busca(r'\n\s*?Data d[oe] julgamento\:\n\s*?\n\s*?(\d{2}/\d{2}/\d{4})', texto) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, origem, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('mg',numero, origem, data_disponibilizacao, orgao_julgador, julgador, texto))
def parser_acordaos(self,texto,cursor): decisoes = re.split(r'\n\d+\.\s*?\n',texto) for d in range(1,len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d],ngroup=0) data_disponibilizacao = busca(r'\nData Publicação\:\s*?(\d{2}/\d{2}/\d{4})', decisoes[d]) orgao_julgador = busca(r'\n.rgão Julgador\:(.+)', decisoes[d]) julgador = busca(r'\nRelator.*?\:(.+)', decisoes[d]) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('pr',numero, data_disponibilizacao, orgao_julgador, julgador, decisoes[d]))
def parser_acordaos(self,texto, cursor): decisoes = re.split(r'\n\d+\.',texto) for d in range(1,len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d],ngroup=0) classe = busca(r'\n\s*?Classe\:(.+)',decisoes[d]) julgador = busca(r'\n\s*?Relator.*?\:\n\s*?(.*?)', decisoes[d]) orgao_julgador = busca(r'\n\s*?.rgão julgador\:\n\s*?\n\s*?(.+)', decisoes[d]) data_disponibilizacao = busca(r'\n\s*?Data d[oe]? julgamento\:\n\s*?\n\s*?(\d{2}/\d{2}/\d{4})', decisoes[d]) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('es',numero, classe, data_disponibilizacao, orgao_julgador, julgador, decisoes[d]))
def parser_acordaos(self, arquivo, cursor, pdf_class): texto = pdf_class.convert_pdfminer(arquivo).replace('\\', '').replace( '/', '').replace('"', '') numero = busca(r'\n.*?N. (.*?) - CLASSE CNJ', texto) julgador = busca(r'\n\s*?DESEMBARGADOR[A]?(.*?)- RELATOR', texto) data_decisao = busca(r'\n\s*?Data de Julgamento\:(.*?)\n', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, julgador, texto_decisao) values ("%s","%s","%s","%s","%s");' % ('mt', numero, data_decisao, julgador, texto))
def parser_acordaos(self,texto, cursor): decisoes = re.split(r'\nDOCUMENTO\s*?\d+',texto) for d in range(1,len(decisoes)): numero = busca(r'\nNúmero do Processo\s*?\:\s*?(\d+)', decisoes[d]) classe = busca(r'\nClasse\s*?\:(.*?)\-', decisoes[d]) julgador = busca(r'\n\s*?Relator.*?\:(.*?)\n', decisoes[d]) orgao_julgador = busca(r'\nÓrgão julgador\s*?\:\s*?(.*?)\n', decisoes[d], args=re.I | re.DOTALL) data_disponibilizacao = busca(r'\n\s*?Data do Julgamento\s*?\:\s*?(\d{2}/\d{2}/\d{4})', decisoes[d]) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('trf5',numero, data_disponibilizacao, orgao_julgador, julgador, decisoes[d].strip()))
def parse(texto_decisao, cursor): dados_re = r'\s*?{}\:.*?\n(.*?)\n' assunto = busca(dados_re.format('Assunto'), texto_decisao) classe = busca(dados_re.format('Classe'), texto_decisao) comarca = busca(dados_re.format('Comarca'), texto_decisao) data_disponibilizacao = busca( r'\s*?Data de Disponibilização\:.*?\n(.*?)\n', texto_decisao) foro = busca(dados_re.format('Foro'), texto_decisao) juiz = busca(dados_re.format('Magistrad.'), texto_decisao) numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto_decisao, ngroup=0, args=re.DOTALL) requerente = busca(r'\s*?Requerent.*?\:.*?\n.*?\n(.*?)\n', texto_decisao) requerido = busca(r'\s*?Requerid.*?\:.*?\n.*?\n(.*?)\n', texto_decisao) if re.search(r'\n\s*?Justiça Gratuita', texto_decisao, re.I): justica_gratuita = '1' else: justica_gratuita = '0' cursor.execute( 'INSERT INTO jurisprudencia_1_inst.jurisprudencia_1_inst_sp (tribunal, numero, assunto, classe, data_decisao, orgao_julgador, julgador, texto_decisao, polo_ativo, polo_passivo, comarca, justica_gratuita) values ("%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s","%s")' % ('SP', numero, assunto, classe, data_disponibilizacao, foro, juiz, texto_decisao, requerente, requerido, comarca, justica_gratuita))
def parser_acordaos(self,texto, cursor): decisoes = re.split(r'\n\s*?\d*?\s*?\-\s*?\n',texto) for d in range(1,len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d],ngroup=0) classe_assunto = busca(r'\n\s*?Classe/Assunto\:\n(.+)',decisoes[d]) classe = classe_assunto.split('/')[0] assunto = classe_assunto.split('/')[-1] julgador = busca(r'Relator \(a\)\:(.*?)\;', decisoes[d]) orgao_julgador = busca(r'Órgão julgador\:(.*?)\;', decisoes[d]) data_disponibilizacao = busca(r'Data do julgamento\:\s*?(.*?)\;', decisoes[d]) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, assunto, classe, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s","%s");' % ('al',numero, assunto, classe, data_disponibilizacao, orgao_julgador, julgador, texto))
def parser_acordaos(self, arquivo, cursor, pdf_class): texto = pdf_class.convert_pdfminer(arquivo).replace('\\', '').replace( '/', '').replace('"', '') numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto, ngroup=0) julgador = busca(r'\n\s*?RELATOR.*?\:(.*?)\n', texto, args=re.I) data_decisao = busca(r'\n\s*?Rio de Janeiro, (.*?)\.', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, julgador, texto_decisao) values ("%s","%s","%s","%s","%s");' % ('rj', numero, data_decisao, julgador, texto))
def parser_acordaos(self, texto, cursor): numero = busca(r'[\d\.\-]{11,25}', texto, ngroup=0) julgador = busca(r'\nRELATOR.*?\:(.*?)\n', texto, args=re.DOTALL) orgao_julgador = busca(r'Turma Julgadora da (.*?)\,', texto) data_disponibilizacao = busca(r'\d{2} de \w+ de \d{4}', texto, ngroup=0) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s", "%s", "%s", "%s", "%s", "%s");' % ('pa', numero, data_disponibilizacao, orgao_julgador, julgador, texto))
def parser_acordaos(self, texto, cursor): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto, ngroup=0) julgador = busca(r'\nRelator.*?\:\s*?(.*?)\n', texto) orgao_julgador = busca(r'\nOrigem\s*?\:\s*?(.*?)\n', texto) data_disponibilizacao = busca(r'\nData do julgamento\s*?\:(.*?)\n', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('ro', numero, data_disponibilizacao, orgao_julgador, julgador, texto))
def parser_acordaos(self, arquivo, cursor): texto = docx2txt.process(arquivo).replace('\\', '').replace('/', '').replace( '"', '') numero = busca(r'\n\s*?N.\s*?Processo\s*?\:(.*?)\n', texto) if numero == '': numero = busca(r'\n\s*?Processo N.\s*?\n\n.*?(\d{10,30})', texto) julgador = busca(r'\n\s*?Desembargador(.*?)\n', texto) data_decisao = busca(r'\n\s*?Brasília \(DF\)\, (.*?)\n', texto) orgao_julgador = busca(r'\n\s*?Órgão.*?\n\n(.*?)\n', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('df', numero, data_decisao, orgao_julgador, julgador, texto))
def parser_acordaos(self, texto, cursor): decisoes = re.split(r'\nDocumento\s*?\d+\s*?\-', texto) for d in range(1, len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d], ngroup=0) julgador = busca(r'\n\s*?Relator.*?\n\n(.*?)\n', decisoes[d]) orgao_julgador = busca(r'\nÓrgão julgador\n\n(.+)\n', decisoes[d]) data_disponibilizacao = busca( r'\n\s*?Data da decisão\n\n(\d{6,10})', decisoes[d]) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('trf1', numero, data_disponibilizacao, orgao_julgador, julgador, decisoes[d]))
def parser_acordaos(self, texto, cursor): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto, ngroup=0) data_disponibilizacao = busca(r'\d{2}/\d{2}/\d{4}', texto, ngroup=0) polo_ativo = busca(r'Reclamante\:(.*?)\n', texto, args=re.I) polo_passivo = busca(r'Reclamado\:(.*?)\n', texto, args=re.I) julgador = busca(r'\n\s*?Relator.*?\:\n\s*?\n\s*?\n\s*?(.*?)\n', texto, args=re.I) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, data_decisao, julgador, polo_ativo, polo_passivo, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('go', numero, data_disponibilizacao, julgador, polo_ativo, polo_passivo, texto))
def parser_acordaos(self,texto, cursor): decisoes = re.split(r'\n\d+\s*?\-',texto) for d in range(1,len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d],ngroup=0) classe_assunto = busca(r'\n\s*?Classe/Assunto\s*?\:\n(.*?)\n',decisoes[d]) try: classe = classe_assunto.split('/')[0] assunto = classe_assunto.split('/')[1] except: classe = '' assunto = '' julgador = busca(r'\n\s*?Relator.*?\:\n\s*?(.*?)\-', decisoes[d]) orgao_julgador = busca(r'\n\s*?.rgão julgador\:\n\n\s*?(.*?)\n', decisoes[d]) data_disponibilizacao = busca(r'\n\s*?Data d[oe]? publicação\s*?\:\n\n\s*?(\d{2}/\d{2}/\d{4})', decisoes[d]) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, assunto, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s","%s");' % ('ce',numero, classe, assunto, data_disponibilizacao, orgao_julgador, julgador, decisoes[d]))
def parser_acordaos(self,texto,cursor): decisoes = re.split(r'\nCopiar\s*?\-',texto) for d in range(1,len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d],ngroup=0) ementa = busca(r'^(.+)\nSessão\:', decisoes[d], args=re.DOTALL) classe = busca(r'\nClasse\:\n\s*?(.+)', decisoes[d]) assunto = busca(r'\nAssuntos\:\n\s*?(.+)', decisoes[d]) julgador = busca(r'\n\s*?Relator.*?\:\n\s*?(.*?)\(', decisoes[d]) orgao_julgador = busca(r'\n\s*?.rgão julgador\:\n\s*?\n\s*?(.+)', decisoes[d]) data_disponibilizacao = busca(r'\n\s*?Data de julgamento\:\n\s*?(\d{2}/\d{2}/\d{4})', decisoes[d]) polo_ativo = busca(r'\n\s*?P.lo ativo\:\n\s*?(.+)', decisoes[d]) polo_passivo = busca(r'\n\s*?P.lo passivo\:\n\s*?(.+)', decisoes[d]) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, assunto, classe, data_decisao, orgao_julgador, julgador, polo_ativo, polo_passivo, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s","%s","%s","%s");' % ('se',numero, assunto, classe, data_disponibilizacao, orgao_julgador, julgador, polo_ativo, polo_passivo, ementa))
def parser_acordaos(self, arquivo, cursor, pdf_class): texto = pdf_class.convert_pdfminer(arquivo).replace('\\', '').replace( '/', '').replace('"', '') numero = busca(r'\nClasse\s*?\:\s*?\w+\s*?nº (.{1,40})', texto) julgador = busca(r'\nRelator\s*?\:(.*?)\n', texto) assunto = busca(r'\nAssunto\s*?\:(.*?)\n', texto) data_decisao = busca(r'\n\s*?Sala das Sessões\,(.*?)\.', texto) orgao_julgador = busca( r'\s*?PODER JUDICIÁRIO DO ESTADO DA BAHIA\nTRIBUNAL DE JUSTIÇA\n(.*?)\n', texto) try: cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, assunto, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('ba', numero, assunto, data_decisao, orgao_julgador, julgador, texto)) except: pass
def parser_acordaos(self, arquivo, cursor, pdf_class): texto = pdf_class.convert_pdfminer(arquivo).replace('"', '').replace( '/', '').replace('\\', '') numero = re.search(r'\nPROCESSO N.. (.{1,44})', texto) if numero: numero = numero.group(1) julgador = busca(r'\s*?Des\. (.*?)\n', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, julgador, texto_decisao) values ("%s","%s","%s","%s");' % ('am', numero, julgador, texto)) else: numero = busca(r'\nAutos n. (.{1,44})\.?', texto) classe = busca(r'\nClasse\: (.*?)\.', texto) julgador = busca(r'\nRelator\:(.*?)\n', texto) orgao_julgador = busca(r'.rg.o Julgador\:(.*?)\n', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s");' % ('am', numero, classe, orgao_julgador, julgador, texto))
def parse(texto_decisao): classe = busca(r'\n\s*?Classe\:\s*?(.*?)\n',texto_decisao) numero = busca(r'\n\s*?Processo\:\s*?([\d\.\-]{1,25})',texto_decisao) tribunal_origem = busca(r'UF\:\s*?(\w{2})',texto_decisao) data_decisao = busca(r'\n\s*?Data da Decisão\: (\d{2}/\d{2}/\d{4}|\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4})',texto_decisao) orgao_julgador = busca(r'.rgão Julgador\:\s*?(.*?\n)',texto_decisao) relator = busca(r'\n\s*?Relator.*?\n(.*?)\n',texto_decisao) decisao = busca(r'\n\s*?Decisão\s*?(.+)',texto_decisao,args=re.DOTALL) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, data_decisao, orgao_julgador, julgador, texto_decisao, origem) values ("%s","%s","%s","%s","%s","%s","%s","%s");' % ('trf4',numero,classe,data_decisao,orgao_julgador,relator,decisao,tribunal_origem))
def parser_acordaos(self,texto_decisao,cursor): numero = busca(r'[\d\.\-]{11,28}', texto_decisao,ngroup=0) data_disponibilizacao = busca(r'\n\s*?Julgamento\:\n\s*?\n\s*?(\d{2}/\d{2}/\d{4})', texto_decisao) orgao_julgador = busca(r'\n\s*?.rgão julgador\:\n\s*?(.+)', texto_decisao) classe = busca(r'\n\s*?Classe\:\n\s*?(.+)', texto_decisao) decisao = busca(r'\n\s*?Processo\:(.+)', texto_decisao, args=re.DOTALL) julgador = busca(r'Relator.\s*?DESEMBARGADOR.([A-Z\s]{1,80})[a-z]', texto_decisao) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('rn',numero, classe, data_disponibilizacao, orgao_julgador, julgador, texto_decisao))
def parser_acordaos(self,texto,cursor): numero = busca(r'\d{4}\.\d{6}\-\d', texto,ngroup=0) classe = busca(r'Classe\:\s*?(.*?)\n', texto) julgador = busca(r'\n\s*?Juiz Prolator.*?\:(.*?)\n', texto) orgao_julgador = busca(r'\n.rgão Julgador\:(.*?)\n', texto) data_disponibilizacao = busca(r'\n\s*?Julgado em\s*?\:(.*?)\n', texto) origem = busca(r'\n\s*?Origem\s*?\:(.*?)\n', texto) cursor.execute('INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst_sc (tribunal, numero, classe, data_decisao, orgao_julgador, julgador, origem, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s","%s");' % ('sc',numero, classe, data_disponibilizacao, orgao_julgador, julgador, origem, texto))
def parser_acordaos(self, links): cursor = cursorConexao() crawler = crawlerJus() contador = 1 for id_p, link in links: try: texto = crawler.baixa_texto_html(link).strip().replace( '\\', '').replace('/', '').replace('"', '') if texto != '': numero = busca(r'\n?Nº\s*?(.*?)\n', texto) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (numero, texto_decisao) values ("%s","%s");' % (numero, texto)) print(contador) contador += 1 except Exception as e: print(id_p, e)
def parser_acordaos(self, texto, cursor): decisoes = re.split(r'\n\s*?Temporariamente indisponível.', texto) for d in range(len(decisoes)): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', decisoes[d], ngroup=0) ementa = busca(r'\nEMENTA\:(.+)', decisoes[d], args=re.DOTALL | re.IGNORECASE) classe = busca(r'\nClasse\:(.+)', decisoes[d]) data_disponibilizacao = busca( r'\nJulgamento\:\s*?(\d{2}/\d{2}/\d{4})', decisoes[d]) orgao_julgador = busca(r'\n.rgão\:(.+)', decisoes[d]) julgador = busca(r'\nRelator.*?\:(.+)', decisoes[d]) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, classe, data_decisao, orgao_julgador, julgador, texto_decisao) values ("%s","%s","%s","%s","%s","%s","%s");' % ('pi', numero, classe, data_disponibilizacao, orgao_julgador, julgador, ementa))
def parse(texto_decisao, cursor): numero = busca(r'\d{7}\-\d{2}\.\d{4}\.\d\.\d{2}\.\d{4}', texto_decisao, ngroup=0) classe_assunto = busca(r'Classe/Assunto\:\n\s*?(.*?)\n', texto_decisao) classe = classe_assunto.split('/')[0] assunto = classe_assunto.split('/')[1] julgador = busca(r'\n\s*?Relator.*?\:\n\s*?(.*?)\n', texto_decisao) orgao_julgador = busca( r'\n\s*?.rgão julgador\:\n\s*?\n\s*?(.*?)\n', texto_decisao) origem = busca(r'\n\s*?Comarca\:\n\s*?\n\s*?(.*?)\n', texto_decisao) data_disponibilizacao = busca( r'\n\s*?Data de publicação\:\n\s*?\n\s*?(\d{2}/\d{2}/\d{4})', texto_decisao) cursor.execute( 'INSERT INTO jurisprudencia_2_inst.jurisprudencia_2_inst (tribunal, numero, assunto, classe, data_decisao, orgao_julgador, julgador, texto_decisao, origem) values ("%s","%s","%s","%s","%s","%s","%s","%s","%s");' % ('ms', numero, assunto, classe, data_disponibilizacao, orgao_julgador, julgador, texto_decisao, origem))
'trf3': [r'{}(.*?){}'.format(re_final_trf4, re_final_trf4), re_num_trf_trt], 'trf4': [r'{}(.*?){}'.format(re_final_trf4, re_final_trf4), re_num_trf_trt], 'trf5': [ r'(\nPROTOCOLO N|\n\d{4}\s*?\.\s*Processo)(.*?)(\nPROTOCOLO N|\n\d{4}\s*?\.\s*Processo)', re_num_trf_trt ], 'trt': [ r'(\nProcesso Nº|\nPROCESSO Nº|\nProcesso RO|\nPROCESSO N\.)(.*?)(\nProcesso Nº|\nPROCESSO Nº|\nProcesso RO|\nPROCESSO N\.)', re_num_trf_trt ] } if __name__ == '__main__': cursor = cursorConexao() for a in os.listdir(path): for k, v in diarios.items(): if re.search(k + r"\d+\.txt", a): diario = '\n' for line in open(a, 'r'): diario += line publicacoes = re.findall(v[0], diario, re.DOTALL) for texto in publicacoes: if len(texto[1]) > 200: texto = texto[1].strip().replace('\\', '').replace( '/', '').replace('"', '') numero = busca(v[1], texto, ngroup=0) cursor.execute( 'INSERT INTO diarios.publicacoes_diarias (tribunal, numero, texto) values ("%s","%s","%s")' % (k, numero, texto))
def encontra_numero(tribunal, texto): return busca(diarios[tribunal][1], texto, ngroup=0).replace('\n', '')