Files
EuropaParkCheck/check.py
2019-09-05 17:29:35 +02:00

36 lines
1.1 KiB
Python

import requests
import pushover
import hashlib
import time
import datetime
import bs4
import tinydb
import os
import difflib
pushover.init('abz8is31hd3m2e36g62w4msihj87cr')
db = tinydb.TinyDB(os.getenv('DB_FILE',default='checks.json'))
while True:
entries = db.all()
for entry in entries:
r = requests.get(entry['url']) #'https://www.europapark.de/de/uebernachten/alle-angebote/sommersaison/europa-rundreise')
html = bs4.BeautifulSoup(r.text, "html5lib")
maincontent = html.find(id='main')
diff = difflib.unified_diff(entry.get('content', ''), str(maincontent))
print(diff)
entry['content'] = str(maincontent)
diffstr = ''.join(diff)
print ('checked', datetime.datetime.now(), end=' ')
if len(diffstr) > 0:
#pushover.Client("u5w9h8gc7hpzvr5a2kh2xh4m9zpidq").send_message("EuropaPark Sommerangebote geändert!", title="Europapark Sommerangebote", url=entry['url'])
print('changed')
print(diffstr)
else:
print('unchanged')
entry['checked'] = str(datetime.datetime.now())
db.write_back(entries)
time.sleep(10)