pip install bs4
pip install requests
pip install smtplib
pip install schedule
app.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import schedule import smtplib import requests from bs4 import BeautifulSoup def umbrellaReminder(): city = "Hyderabad" # creating url and requests instance url = "https://www.google.com/search?q=" + "weather" + city html = requests.get(url).content # getting raw data soup = BeautifulSoup(html, 'html.parser') temperature = soup.find('div', attrs={'class': 'BNeawe iBp4i AP7Wnd'}).text time_sky = soup.find('div', attrs={'class': 'BNeawe tAd8D AP7Wnd'}).text # formatting data sky = time_sky.split('\n')[1] if sky == "Rainy" or sky == "Rain And Snow" or sky == "Showers" or sky == "Haze" or sky == "Cloudy": smtp_object = smtplib.SMTP('smtp.gmail.com', 587) # start TLS for security smtp_object.starttls() # Authentication smtp_object.login("YOUR EMAIL", "PASSWORD") subject = "GeeksforGeeks Umbrella Reminder" body = f"Take an umbrella before leaving the house.\ Weather condition for today is {sky} and temperature is\ {temperature} in {city}." msg = f"Subject:{subject}\n\n{body}\n\nRegards,\nGeeksforGeeks".encode( 'utf-8') # sending the mail smtp_object.sendmail("FROM EMAIL", "TO EMAIL", msg) # terminating the session smtp_object.quit() print("Email Sent!") # Every day at 06:00AM time umbrellaReminder() is called. schedule.every().day.at("06:00").do(umbrellaReminder) while True: schedule.run_pending() |