Пример #1
0
 def _download(self):
     nome_arquivo = self.nome_dados + '.json'
     downloader = FileDownloader(self.diretorio, self.url, nome_arquivo)
     downloader.download()
     diretorio = downloader.diretorio_dados
     nome_arquivo = downloader.nome_arquivo
     return diretorio, nome_arquivo
Пример #2
0
    def parse(self):
        """
        Executa o parsing do arquivo JSON.  Executa o download de um arquivo de dados em formato JSON e armazena as
        informações resultantes em um local identificado de acordo com as informações recebidas pelo construtor da
        classe.
        :return:
        """
        nome_arquivo = self.nome_dados + '.json'
        downloader = FileDownloader(self.diretorio, self.url, nome_arquivo)
        downloader.download()

        with open(
                os.path.join(downloader.diretorio_dados,
                             downloader.nome_arquivo)) as json_file:
            dados = json.load(json_file)
            conteudo = dados['data']['rows']
            colunas = dados['data']['cols']
            colunas_df = []

            for coluna in colunas:
                colunas_df.append(coluna['name'])

            linhas_df = []

            for elemento in conteudo:
                linhas_df.append(elemento)

            df = pd.DataFrame(linhas_df, columns=colunas_df)

            persistir(df, self.fonte, self.nome_dados, self.uf)
Пример #3
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Tribunal de contas estadual...')
     start_time = time.time()
     tce = FileDownloader(path.join(config.diretorio_dados, 'RS', 'tce'),
                          config.url_tce_RS, 'licitações_-_covid-19.xls')
     tce.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #4
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Portal de transparência da capital...')
     start_time = time.time()
     downloader = FileDownloader(path.join(config.diretorio_dados, 'SP', 'portal_transparencia'), self.url,
                                 'COVID.csv')
     downloader.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #5
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Portal de transparência estadual...')
     start_time = time.time()
     pt_CE = FileDownloader(
         path.join(config.diretorio_dados, 'CE', 'portal_transparencia'),
         config.url_pt_CE, 'gasto_covid_dados_abertos.xlsx')
     pt_CE.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #6
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Portal de transparência da capital...')
     start_time = time.time()
     pt_Florianopolis = FileDownloader(
         path.join(config.diretorio_dados, 'SC', 'portal_transparencia', 'Florianopolis'),
         config.url_pt_Florianopolis, 'aquisicoes.csv')
     pt_Florianopolis.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #7
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Portal de transparência estadual...')
     start_time = time.time()
     pt_ES = FileDownloader(
         path.join(config.diretorio_dados, 'ES', 'portal_transparencia'),
         config.url_pt_ES, 'dados-contratos-emergenciais-covid-19.csv')
     pt_ES.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #8
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Portal de transparência da capital...')
     start_time = time.time()
     pt_Rio_contratos = FileDownloader(
         path.join(config.diretorio_dados, 'RJ', 'portal_transparencia',
                   'Rio de Janeiro'), config.url_pt_Rio_contratos,
         'Open_Data_Contratos_Covid19_2020.xlsx')
     pt_Rio_contratos.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #9
0
 def scrap(self):
     logger = logging.getLogger('covidata')
     logger.info('Portal de transparência da capital...')
     start_time = time.time()
     pt_Rio_despesas_por_ato = FileDownloader(
         path.join(config.diretorio_dados, 'RJ', 'portal_transparencia',
                   'Rio de Janeiro'), config.url_pt_Rio_despesas_por_ato,
         '_arquivos_Open_Data_Desp_Ato_Covid19_2020.txt')
     pt_Rio_despesas_por_ato.download()
     logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #10
0
    def scrap(self):
        csv_zip = 'DISPENSAS_INEXIGIBILIDADE_COVID-2020_CSV.zip'
        diretorio = config.diretorio_dados.joinpath('PR').joinpath(
            'portal_transparencia')

        downloader = FileDownloader(diretorio, config.url_pt_PR, csv_zip)
        downloader.download()

        with zipfile.ZipFile(diretorio.joinpath(csv_zip), 'r') as zip_ref:
            zip_ref.extractall(diretorio)
Пример #11
0
    def scrap(self):
        logger = logging.getLogger('covidata')
        logger.info('Portal de transparência da capital...')
        start_time = time.time()

        downloader = FileDownloader(
            path.join(config.diretorio_dados, 'AM', 'portal_transparencia',
                      'Manaus'), self.url,
            'PÚBLICA-CONTROLE-PROCESSOS-COMBATE-COVID-19-MATERIAIS.csv')
        downloader.download()
        logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #12
0
    def scrap(self):
        logger = logging.getLogger('covidata')

        logger.info('Portal de transparência da capital...')
        start_time = time.time()

        pt_BeloHorizonte = FileDownloader(
            path.join(config.diretorio_dados, 'MG', 'portal_transparencia',
                      'Belo Horizonte'), config.url_pt_BeloHorizonte,
            'contratacaocorona.xlsx')
        pt_BeloHorizonte.download()

        logger.info("--- %s segundos ---" % (time.time() - start_time))
Пример #13
0
    def scrap(self):
        logger = logging.getLogger('covidata')

        logger.info('Portal de transparência estadual...')

        page = requests.get(self.url)
        soup = BeautifulSoup(page.content, 'html.parser')
        links = soup.find_all('a')
        p = re.compile(r'.*compras.+.csv')
        links = [
            link.attrs['href'] for link in links if p.match(link.attrs['href'])
            and not 'itens' in link.attrs['href']
        ]
        diretorio = config.diretorio_dados.joinpath('MS').joinpath(
            'portal_transparencia')

        if not path.exists(diretorio):
            os.makedirs(diretorio)

        for link in links:
            indice = link.rfind('/')
            downloader = FileDownloader(diretorio, link, link[indice + 1:])
            downloader.download()
Пример #14
0
 def scrap(self):
     pt_contratacoes = FileDownloader(
         path.join(config.diretorio_dados, 'PR', 'portal_transparencia',
                   'Curitiba'), config.url_pt_Curitiba_contratacoes,
         'licitacoes_contratacoes.csv')
     pt_contratacoes.download()