Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from bs4 import BeautifulSoup
- import time
- from selenium import webdriver
- from selenium.webdriver.firefox.options import Options
- import smtplib
- from email.mime.text import MIMEText
- from email.mime.multipart import MIMEMultipart
- from email.mime.base import MIMEBase
- from email import encoders
- from datetime import date
- def EmailPressMax():
- email_user = 'gclithg@gmail.com'
- email_password = 'Guixwq6206!'
- recipients = ['gclithg@gmail.com']#, 'guilhermelithg@vilatec.com.br', 'hebervila@vilatec.com.br', 'pedrosilva@vilatec.com.br']
- subject = 'ALERTA: PRESSÃO MUITO ALTA NO MCC'
- msg = MIMEMultipart()
- msg['From'] = email_user
- msg['To'] = ", ".join(recipients)
- msg['Subject'] = subject
- body = 'Pressão medida: ' + str(pressao) + '\nPressão ideal: 120'
- msg.attach(MIMEText(body,'plain'))
- filename='proof.png'
- attachment =open(filename,'rb')
- part = MIMEBase('application','octet-stream')
- part.set_payload((attachment).read())
- encoders.encode_base64(part)
- part.add_header('Content-Disposition',"attachment; filename= "+filename)
- msg.attach(part)
- text = msg.as_string()
- server = smtplib.SMTP('smtp.gmail.com',587)
- server.starttls()
- server.login(email_user,email_password)
- server.sendmail(email_user,recipients,text)
- server.quit()
- #ENTRAR NO SITE
- options = Options()
- options.headless = True
- driver = webdriver.Firefox(options=options, executable_path="geckodriver.exe")
- url = "https://pngwndfr.p18.rt3.io/"
- print("Carregando site...")
- driver.get(url)
- print("Site carregado!")
- html = driver.page_source
- soup = BeautifulSoup(html, 'lxml')
- #PARAMETROS
- PRESSAO_MAX = 10
- PRESSAO_MIN = 40
- UMIDADE_MAX = 80
- UMIDADE_MIN = 1
- TEMPERATURA_MAX = 250
- TEMPERATURA_MIN = 1
- FLUXO_AR_MAX = 5000
- FLUXO_AR_MIN = 10
- #VARIAVEIS
- global pressao
- global umidade
- global temperatura
- global fluxo_ar
- #INFOS
- a = soup.find("span", id="value3")
- pressao = abs(float(a.text))
- b = soup.find("span", id="value2")
- umidade = float(b.text)
- c = soup.find("span", id="value1")
- temperatura = float(c.text)
- d = soup.find("span", id="value6")
- fluxo_ar = float(d.text)
- if (pressao > PRESSAO_MAX):
- print("ALERTA: PRESSÃO MUITO ALTA")
- time.sleep(5)
- e = soup.find("span", id="value3")
- nova_pressao = abs(float(a.text))
- print('Nova pressao: {}'.format(nova_pressao))
- if (nova_pressao > PRESSAO_MAX):
- driver.get_screenshot_as_file('proof.png')
- print("Screenshot tirada.")
- print('Enviando email...')
- try:
- EmailPressMax()
- print("Email enviado!")
- except:
- print('O emal não pode ser enviado.')
- print('Pressão: {}'.format(pressao))
- print('Umidade: {}'.format(umidade) )
- print('Temperatura: {}'.format(temperatura))
- print('Fluxo de ar: {}'.format(fluxo_ar))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement