Skip to content

Instantly share code, notes, and snippets.

@ananthrajsingh
Created September 3, 2021 14:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ananthrajsingh/98eecfe0a351eb588445244ee9a673e3 to your computer and use it in GitHub Desktop.
Save ananthrajsingh/98eecfe0a351eb588445244ee9a673e3 to your computer and use it in GitHub Desktop.
import requests
from bs4 import BeautifulSoup
import smtplib, ssl
URL = "https://www.zomato.com/bareilly/momo-hut-subhash-nagar-colony/order"
headers = {
'authority': 'www.zomato.com',
'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"',
'sec-ch-ua-mobile': '?0',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'navigate',
'sec-fetch-user': '?1',
'sec-fetch-dest': 'document',
'accept-language': 'en-GB,en;q=0.9',
}
page = requests.get(URL, headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
subtitles = soup.find_all("div", class_="subtitle")
# Check if the restaurant is open or not
is_open = False
if len(subtitles) > 0:
is_open = "Currently closed" not in subtitles[0].decode_contents()
else:
is_open = True
# Find Paneer momo
paneer_momos = soup.find_all(text='Paneer Steamed Momos [6 Pieces]')
are_paneer_momos_available = len(paneer_momos) > 0
# Find Chicken momo
chicken_momos = soup.find_all(text='Chicken Steamed Momos [6 Pieces]')
are_chicken_momos_available = len(chicken_momos) > 0
# Logging
print("Is open: " + str(is_open))
print("Are paneer momos available: " + str(are_paneer_momos_available))
print("Are chciken momos available: " + str(are_chicken_momos_available))
if is_open and are_chicken_momos_available:
port = 465
smtp_server = "smtp.gmail.com"
sender_email = "sender.email@gmail.com"
receiver_email = "receiver.email@gmail.com"
password = "sender_email_password"
message = "Chicken momos are available on Momo Hut"
if are_paneer_momos_available:
message = "Chicken and paneer momos are available on Momo Hut"
context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
server.login(sender_email, password)
# Send the email
server.sendmail(sender_email, receiver_email, message)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment