Just eat strat
This commit is contained in:
parent
ef1884445a
commit
565e83d92f
|
@ -3,15 +3,43 @@ from bs4 import BeautifulSoup
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
import requests_cache
|
import requests_cache
|
||||||
|
|
||||||
|
from ..util import Context, Prediction
|
||||||
|
|
||||||
requests_cache.install_cache("requests_cache", expire_after=timedelta(minutes=10))
|
requests_cache.install_cache("requests_cache", expire_after=timedelta(minutes=10))
|
||||||
|
|
||||||
|
|
||||||
def is_restaurant_open(name):
|
def is_restaurant_open(name, open, close) -> Prediction:
|
||||||
|
p = Prediction()
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}
|
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'}
|
||||||
r = requests.get("https://www.just-eat.dk/area/8000-århusc", headers=headers)
|
r = requests.get("https://www.just-eat.dk/area/8000-århusc", headers=headers)
|
||||||
soup = BeautifulSoup(r.content, features='html5lib')
|
soup = BeautifulSoup(r.content, features='html5lib')
|
||||||
print(soup.prettify())
|
listing_groups = soup.find_all('div', {'class': 'listing-group'})
|
||||||
print(soup.find('div', {'class': 'listing-group'}))
|
|
||||||
|
|
||||||
is_restaurant_open("lel")
|
p.reasons.append("Hopefully we are not banned from Just-eat ..")
|
||||||
|
|
||||||
|
nice_group = None
|
||||||
|
for x in listing_groups:
|
||||||
|
if x['data-test-id'] == 'listingGroupOpen':
|
||||||
|
nice_group = x
|
||||||
|
|
||||||
|
if nice_group is None:
|
||||||
|
p.reasons.append("Apparently we are banned from just-eat. We therefore have no clue.")
|
||||||
|
p.probability = 0.5
|
||||||
|
return p
|
||||||
|
|
||||||
|
all_listings = nice_group.find_all('a', {'class': 'mediaElement'})
|
||||||
|
|
||||||
|
if any(name in x['href'] for x in all_listings):
|
||||||
|
p.reasons.append(f"{name} is currently open. We conclude from this, that there is {1 / 11}% chance of it being night outside!")
|
||||||
|
p.probability = 1 / 11
|
||||||
|
else:
|
||||||
|
p.reasons.append(f"{name} is not open. We can conclude from this, that there is {1 - (1/11)}% chance of it currently being night outside! ")
|
||||||
|
p.probability = 1 - (1 / 11)
|
||||||
|
|
||||||
|
return p
|
||||||
|
|
||||||
|
|
||||||
|
def do_just_eat_strat(context: Context) -> Prediction:
|
||||||
|
return is_restaurant_open('stop2shop', 12, 23)
|
||||||
|
|
Loading…
Reference in a new issue