preciso receber por e-mail, uma notificação sempre que uma determinada página em web seja alterada. Como fazer o código?
Para receber uma notificação por e-mail sempre que uma determinada página na web for alterada, você pode usar um script em Python que verifica a página em intervalos regulares. Esse script pode ser agendado usando uma tarefa cron (no Linux) ou o Agendador de Tarefas (no Windows). Vou fornecer um exemplo básico de como fazer isso.
### Pré-requisitos
1. **Python instalado**: Certifique-se de ter o Python instalado em seu sistema.
2. **Bibliotecas necessárias**: Você precisará das bibliotecas `requests` e `smtplib` que podem ser instaladas usando `pip`:
```bash
pip install requests
```
### Código do Script
Aqui está um exemplo de um script Python que verifica uma página da web e envia um e-mail se houver mudanças:
```python
import requests
import smtplib
import hashlib
import time
# Configurações
url = 'URL_DA_PAGINA' # Substitua pela URL que você quer monitorar
email_de = This email address is being protected from spambots. You need JavaScript enabled to view it.' # Seu endereço de e-mail
email_para = This email address is being protected from spambots. You need JavaScript enabled to view it.' # E-mail que receberá a notificação
senha = 'SUA_SENHA' # Senha do seu e-mail
verificacao_intervalo = 60 # Intervalo em segundos entre verificações
# Função para enviar e-mail
def enviar_email():
with smtplib.SMTP('smtp.gmail.com', 587) as server:
server.starttls()
server.login(email_de, senha)
mensagem = 'A página foi alterada!'
server.sendmail(email_de, email_para, mensagem)
# Função principal
def monitorar_pagina():
ultima_resposta = None
while True:
resposta = requests.get(url)
# Cria um hash do conteúdo da página
conteudo_atual = hashlib.md5(resposta.content).hexdigest()
if ultima_resposta is not None and conteudo_atual != ultima_resposta:
print("Mudança detectada! Enviando e-mail...")
enviar_email()
# Atualiza a última resposta
ultima_resposta = conteudo_atual
# Espera pelo intervalo especificado
time.sleep(verificacao_intervalo)
# Inicia o monitoramento
if __name__ == '__main__':
monitorar_pagina()
```
### Nota sobre o código:
1. **Autenticação do Gmail**: Se você estiver usando o Gmail, precisará permitir aplicativos menos seguros ou usar autenticação de dois fatores com uma senha de aplicativo. Para mais segurança, recomenda-se usar bibliotecas como `OAuth2`.
2. **Intervalo de Verificação**: O intervalo em segundos (`verificacao_intervalo`) pode ser ajustado conforme necessário. O valor de 60 significa que o script verificará a página a cada minuto.
3. **Terminal/Console**: Você pode testar o script localmente em um terminal ou console para ver se funciona corretamente.
### Agendando o Script
- **Linux**: Use o cron para agendar a execução do script, editando o arquivo crontab (`crontab -e`) e adicionando uma entrada.
- **Windows**: Utilize o Agendador de Tarefas para agendar a execução do script em intervalos regulares.
### Considerações Finais
Lembre-se de verificar a política do site que você está monitorando para garantir que não esteja violando os termos de uso. Além disso, evite verificar páginas com muita frequência para não sobrecarregar o servidor da web.