Skip to content

Este repositório contém um web scraper em Python que coleta informações meteorológicas de um site de previsão do tempo e envia um e-mail diário com a previsão para o seu endereço de e-mail.

Notifications You must be signed in to change notification settings

eliasalbuquerque/python-daily-weather-report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relatório meteorológico diário em Python

Este repositório contém um web scraper em Python que coleta informações meteorológicas de um site de previsão do tempo e envia um e-mail diário com a previsão para o seu endereço de e-mail.

Funcionalidades

  • Coleta Automática de Dados: O script coleta dados do tempo de um site de previsão do tempo (personalizável).
  • Relatório Formatado: O script gera um relatório conciso e legível com as previsões do tempo para o dia atual e os próximos dias.
  • Envio de Email: O script envia o relatório de previsão do tempo para um destinatário definido por você.
  • Agendamento: Permite configurar o script para executar automaticamente em intervalos específicos (ex: diariamente).
  • Exclusão do Agendamento: Permite remover o agendamento de execução do script.

Requisitos

  • Sistema Operacional: O script atualmente funciona apenas no Windows. A implementação em outros sistemas operativos pode exigir alterações no código.
  • Provedor de Email: O script está configurado para enviar emails usando o Gmail. Para usar outros provedores de email, você precisará modificar o código.

Como usar

  1. Clone o repositório:

    git clone https://github.com/eliasalbuquerque/python-daily-weather-report.git
  2. Instale as dependências:

    pip install -r requirements.txt
  3. Configuração do script:

    A configuração dos dados do usuário acontece automáticamente por requisição de input do usuário na primeira execução.

    Os dados solicitados são:

    • USER_EMAIL: Seu endereço de email.
    • USER_PASS: Sua senha do email.
    • RECIPIENT: Endereço de email do destinatário.
    • SUBJECT: Assunto do email.

    E armazenados no arquivo .env, no diretório do projeto.

    Caso deseje resetar os dados, delete o arquivo .env e rode o script novamente.

  4. Execute o script:

    python app.py
  5. Configuração do Agendamento:

    O Agendamento é feito por padrão para às 8:00h do dia com recorrência diária, utilizando o Task Schedule do Windows com a função de executar o script.

    Para ajustar o horário, modifique o parâmetro start_time da função schedule_script() no código principal (app.py). Por exemplo:

    schedule_script(start_time='14:00')

    A função schedule_script() ainda permite o uso do test_mode, que é um modo que permite testar o script executando-o a cada 5 minutos. Isso é útil para verificar se o script está funcionando corretamente e para depurar problemas.

    schedule_script(test_mode=True)

    Para remover o agendamento, execute o seguinte comando no terminal:

    python task-delete.py

Notas

  • O script usa Selenium para automatizar a navegação no site de previsão do tempo.
  • A coleta de dados do tempo é baseada no site https://www.msn.com/pt-br/clima/forecast/. Para usar outros sites, você precisará editar os XPath usados para localizar os dados.
  • O script assume que você está usando o Gmail para enviar emails. Você pode precisar modificar o código para usar outros provedores de email.

Contribuições

Contribuições são bem-vindas! Se você encontrar algum problema, tiver alguma sugestão de melhoria ou quiser adicionar funcionalidades, por favor abra um issue ou faça um pull request.

About

Este repositório contém um web scraper em Python que coleta informações meteorológicas de um site de previsão do tempo e envia um e-mail diário com a previsão para o seu endereço de e-mail.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages