def download_acordao_sc(self, link, id_p, cursor):
     crawlerclass = crawlerJus()
     texto = crawlerclass.baixa_texto_html(link).replace('"', '').replace(
         '\\', '').replace('/', '')
     cursor.execute(
         'UPDATE justica_estadual.jurisprudencia_sc set texto = "%s" where id = "%s"'
         % (texto, id_p))
Exemplo n.º 2
0
 def download_tj(self, termo='a'):
     cursor = cursorConexao()
     crawler = crawlerJus()
     driver = webdriver.Chrome(self.chromedriver)
     driver.get(self.link_inicial)
     driver.find_element_by_xpath(self.pesquisa_livre).send_keys(termo)
     driver.find_element_by_xpath(self.botao_pesquisar).click()
     for i in self.lista_proximos:
         bota_p = self.botao_proximoXP % i
         links_inteiro_teor = driver.find_elements_by_partial_link_text('')
         for l in links_inteiro_teor:
             try:
                 if re.search(r'inteiroteor\.php', l.get_attribute('href')):
                     texto = crawler.baixa_texto_html(
                         l.get_attribute('href')).replace('/', '').replace(
                             '\\', '').replace('"', '')
                     cursor.execute('INSERT INTO %s value ("%s");' %
                                    (self.tabela_colunas, texto))
             except Exception as e:
                 print(e)
         driver.find_element_by_xpath(bota_p).click()
     self.botao_proximoXP = '//*[@id="conteudo"]/table[1]/tbody/tr/td/a[11]/b'
     loop_counter = 0
     while True:
         try:
             links_inteiro_teor = driver.find_elements_by_partial_link_text(
                 '')
             for l in links_inteiro_teor:
                 try:
                     if re.search(r'inteiroteor\.php',
                                  l.get_attribute('href')):
                         texto = crawler.baixa_texto_html(
                             l.get_attribute('href')).replace(
                                 '/', '').replace('\\',
                                                  '').replace('"', '')
                         cursor.execute('INSERT INTO %s value ("%s");' %
                                        (self.tabela_colunas, texto))
                 except:
                     pass
             driver.find_element_by_xpath(self.botao_proximoXP).click()
             time.sleep(2)
         except:
             loop_counter += 1
             time.sleep(5)
             driver.refresh()
             if loop_counter > 5:
                 break
     driver.close()
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
	def baixarVotos(self):
		cursor = cursorConexao()
		crawler = crawlerJus()
		cursor.execute('SELECT id, link_voto from stj.dados_processo;')
		link_votos = cursor.fetchall()
		contador = 1
		for id_voto, link in link_votos:
			html_ini = crawler.baixa_pag(link.replace('\'',''))
			if html_ini == '':
				continue
			soup = BeautifulSoup(html_ini,'lxml')
			link_final = soup.find_all('a')[0]
			html_final = crawler.baixa_pag('https://ww2.stj.jus.br/'+link_final['href'])
			soup2 = BeautifulSoup(html_final,'html.parser')
			texto = soup2.get_text()
			cursor.execute('INSERT into stj.votos (id_processo,voto) values (%s,"%s")' % (str(id_voto),texto.replace('"','')))
			print(contador)
			contador += 1
import sys, re, threading, time
from crawlerJus import crawlerJus
from bs4 import BeautifulSoup
from common.conexao_local import cursorConexao

c = crawlerJus()
cursor = cursorConexao()

j = 352500
while j < 458000:
    print('comecei ' + str(j))
    erros = 0
    pag = BeautifulSoup(
        c.baixa_pag(
            'http://compras.dados.gov.br/licitacoes/v1/licitacoes.html?offset='
            + str(j)), 'lxml')
    for l in pag.find_all('a', href=True):
        if re.search(r'/licitacoes/id/licitacao/\d+$', l['href']):
            i = l['href']
            licitacoes = []
            itens_licitacao = []
            contratos_licitacao = []
            aditivos = []
            # LICITAÇÕES DADOS
            pag = BeautifulSoup(
                c.baixa_pag('http://compras.dados.gov.br/' + i), 'lxml')
            dados_licitacao = pag.find_all('p', attrs={'class': 'inner'})[:-3]
            for d in range(len(dados_licitacao)):
                dados_licitacao[d] = dados_licitacao[d].get_text().replace(
                    '\'', '').replace('\"', '')
            licitacoes.append(dados_licitacao)
 def download_2_inst(self, links):
     crawler = crawlerJus()
     for link in links:
         texto = crawler.baixa_texto_html(link).strip().replace(
             '\\', '').replace('/', '').replace('"', '')
Exemplo n.º 7
0
	def download_diario_oficial_adm_retrativo_antigos(self):
		crawler_aux = crawlerJus()
		datas = []
		diarios = ['Executivo+I','Executivo+II','Empresarial','Empresarial+2','Legislativo']
		diarios_secao = {'Executivo+I' : 'i', 'Executivo+II' : 'ii', 'Empresarial' : None,'Empresarial+2' : None,'Legislativo' : None}
		link_inicial = 'https://www.imprensaoficial.com.br/DO/BuscaDO2001Resultado_11_3.aspx?filtrotipopalavraschavesalvar=FE&filtrodatafimsalvar={}&filtroperiodo={}%2f{}%2f{}+a+{}%2f{}%2f{}&filtrocadernos={}&filtropalavraschave=+&filtrodatainiciosalvar={}s&xhitlist_vpc=first&filtrocadernossalvar=ex1&filtrotodoscadernos=+'
		primeiro_resultado_xpath = '//*[@id="dtgResultado_lblData_0"]'
		profile = {"plugins.plugins_list": [{"enabled": False,
					"name": "Chrome PDF Viewer"}],
					"download.default_directory": path,
					"download.extensions_to_open": ""}
		for i in range(6,10):
			# for j in range(1,10):
			# 	datas.append('2013'+'0'+str(i)+'0'+str(j))
			for j in range(26,32):
				datas.append('2013'+'0'+str(i)+str(j))
		for i in range(10,13):
			for j in range(1,10):
				datas.append('2013'+str(i)+'0'+str(j))
			for j in range(28,32):
				datas.append('2013'+str(i)+str(j))
		for l in range(2012,1890,-1):
			for i in range(1,10):
				for j in range(1,10):
					datas.append(str(l)+'0'+str(i)+'0'+str(j))
				for j in range(10,32):
					datas.append(str(l)+'0'+str(i)+str(j))
			for i in range(10,13):
				for j in range(1,10):
					datas.append(str(l)+str(i)+'0'+str(j))
				for j in range(10,32):
					datas.append(str(l)+str(i)+str(j))
		for data in datas:
			ano = data[:4]
			mes = data[4:6]
			dia = data[6:]
			nome_pasta = dia+mes+ano
			subprocess.Popen('mkdir %s/Diarios_sp_DO_2/%s' % (path_hd,nome_pasta), shell=True) 
			for diario in diarios:
				subprocess.Popen('mkdir %s/Diarios_sp_DO_2/%s/%s' % (path_hd,nome_pasta,diario), shell=True) 
				try:
					options = webdriver.ChromeOptions()
					options.add_experimental_option("prefs", profile)
					driver = webdriver.Chrome(self.chromedriver, chrome_options = options)
					driver.get(link_inicial.format(data,dia,mes,ano,dia,mes,ano,diario,data))
					html = driver.page_source
					pag = BeautifulSoup(html,'lxml')
					for l in pag.find_all('a', href=True):
						if re.search(r"javascript\:pop\('\/DO\/BuscaDO2001Documento\_",l['href']):
							codigo_script = re.search(r'pagnot(.*?)\.',l['href'])
							if codigo_script:
								codigo_script = codigo_script.group(1)
								break
					script_base = "pop('/DO/BuscaDO2001Documento_11_4.aspx?link=%2f{}%2f{}%2520secao%2520{}%2f{}%2f{}%2fpagnot{}.pdf&pagina=I&data={}/{}/{}&caderno={}&paginaordenacao=1',738,577,'0','1')"
					script_base_sem_secao = "pop('/DO/BuscaDO2001Documento_11_4.aspx?link=%2f{}%2f{}%25202%2f{}%2f{}%2fpag{}.pdf&pagina=1&data={}/{}/{}&caderno={}&paginaordenacao=100001',738,577,'0','1');"
					if diarios_secao[diario]:
						driver.execute_script(script_base.format(ano,diario.replace('+','').replace('I','').replace('2','').lower(),diarios_secao[diario],crawler_aux.mes_numero_nome(mes),dia,codigo_script,dia,mes,ano,diario.replace('+',' ')))
					else:
						driver.execute_script(script_base_sem_secao.format(ano,diario.replace('+','').replace('I','').replace('2','').lower(),crawler_aux.mes_numero_nome(mes),dia,codigo_script,dia,mes,ano,diario.replace('+',' ')))
					time.sleep(0.5)
					driver.switch_to.window(driver.window_handles[1])
					time.sleep(1)
					driver.switch_to_frame(driver.find_element_by_name('GatewayNavegacao'))
					ult_pagina = int(driver.find_element_by_id('lblTotalPagina').text)
					contador = 2
					while contador <= ult_pagina:
						try:
							driver.switch_to.window(driver.window_handles[1])
							driver.switch_to_frame(driver.find_element_by_name('GatewayNavegacao'))
							time.sleep(1)
							driver.find_element_by_xpath('//*[@id="txtPagina"]').clear()
							driver.find_element_by_xpath('//*[@id="txtPagina"]').send_keys(str(contador))
							driver.find_element_by_xpath('//*[@id="ibtPagina"]').click()
							time.sleep(4)
							contador += 1
							try:
								time.sleep(0.1)
								subprocess.Popen('mv %s/GatewayPDF.pdf %s/%s.pdf' % (path, path, str(contador-1)), shell=True)
								time.sleep(0.1)
								subprocess.Popen('mv %s/*.pdf %s/Diarios_sp_DO_2/%s/%s' % (path,path_hd,nome_pasta,diario), shell=True)
							except Exception as e:
								pass
						except Exception as e:
							break
					driver.switch_to.window(driver.window_handles[1])
					driver.close()
				except Exception as e:
					driver.close()