1. Segue vídeo com funcionamento do projeto:

    https://youtu.be/tJ0NGpGNijA?si=SQE_L_D_-F_P0i3i

  2. Os arquivos gerados pelo código ficam na pasta “downloads” do GitHub, podendo ser acessados pelo link abaixo:

    GitHub - Gabrilinard/desafio_webscraping

  3. Os dados foram salvos no banco de dados PostgreSQL. A partir disso, na ferramenta “Query Tool Workspace”, foi utilizado o comando “SELECT * FROM cisternas_municipios” para apresentar a tabela “cisternas_municipios” que foi criada dentro do banco de dados “cisternas”.

    Captura de Tela (83).png

    raw.githubusercontent.com

  4. Para executar o código Python "baixar_csv_firefox.py", é necessário modificar o arquivo ".env", onde tem "sua_senha_aqui", colocando a sua senha real do banco de dados PostgreSQL.

DB_USER=postgres
DB_PASSWORD= "sua_senha_aqui"
DB_HOST=localhost
DB_PORT=5432
DB_NAME=cisternas
  1. Na parte de extração dos dados do código Python do arquivo "baixar_csv_firefox.py", foram alterados os links enviados no desafio, devido ao link do site "https://aplicacoes.cidadania.gov.br/ ..." direcionar para a tabela "Brasil". Porém, para realizar o webscraping de todos os municípios, foi necessário realizar um filtro no próprio site, que direciona para um outro link que apresenta os dados com as informações solicitadas no desafio.

Os novos links diretos para as tabelas de município são:

Página Consumo

VIS DATA 3 beta

Página Produção

VIS DATA 3 beta

Página Escolar

VIS DATA 3 beta

  1. No código do arquivo "baixar_csv_firefox.py", na linha 84, com o comando "time.sleep(20)", o valor "20" pode ser alterado para um valor menor ou maior dependendo da taxa de transmissão da internet. Pois, esse tempo é para aguardar o download do último arquivo ".csv".

    def main():
        download_dir = preparar_diretorio_download()
        driver = configurar_driver(download_dir)
    
        arquivos_baixados = {}
        for nome, dados in urls.items():
            arquivo = baixar_csv(driver, dados["link"], download_dir, dados["aceitar_lgpd"])
            arquivos_baixados[nome] = arquivo
            print(f"Arquivo baixado ({nome}): {arquivo}")
    
        time.sleep(20)
        driver.quit()
    
        return download_dir, arquivos_baixados
    
  2. Na função de armazenamento no banco de dados, foi modificado o formato da coluna "Mês/Ano" de "07/2024" para "2024-07-01", de forma que seja possível realizar filtros e ordenações pelas datas, pois foi feito um teste de filtros no banco de dados, com "Where" e "Between", e foi visto que o filtro não foi realizado corretamente.