Skip to content

Instantly share code, notes, and snippets.

@jaysonsantos
Created June 11, 2015 13:34
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaysonsantos/0ef66e0677be32050574 to your computer and use it in GitHub Desktop.
Save jaysonsantos/0ef66e0677be32050574 to your computer and use it in GitHub Desktop.
bürgeramt bot
import subprocess
import time
import bs4
import requests
url = 'http://service.berlin.de/terminvereinbarung/termin/tag.php?termin=1&dienstleister%5B%5D=122210&dienstleister%5B%5D=122217&dienstleister%5B%5D=122219&dienstleister%5B%5D=122227&dienstleister%5B%5D=122231&dienstleister%5B%5D=122238&dienstleister%5B%5D=122243&dienstleister%5B%5D=122252&dienstleister%5B%5D=122260&dienstleister%5B%5D=122262&dienstleister%5B%5D=122254&dienstleister%5B%5D=122271&dienstleister%5B%5D=122273&dienstleister%5B%5D=122277&dienstleister%5B%5D=122280&dienstleister%5B%5D=122282&dienstleister%5B%5D=122284&dienstleister%5B%5D=122291&dienstleister%5B%5D=122285&dienstleister%5B%5D=122286&dienstleister%5B%5D=122296&dienstleister%5B%5D=150230&dienstleister%5B%5D=122301&dienstleister%5B%5D=122297&dienstleister%5B%5D=122294&dienstleister%5B%5D=122312&dienstleister%5B%5D=122314&dienstleister%5B%5D=122304&dienstleister%5B%5D=122311&dienstleister%5B%5D=122309&dienstleister%5B%5D=317869&dienstleister%5B%5D=324433&dienstleister%5B%5D=325341&dienstleister%5B%5D=324434&dienstleister%5B%5D=324435&dienstleister%5B%5D=122281&dienstleister%5B%5D=324414&dienstleister%5B%5D=122283&dienstleister%5B%5D=122279&dienstleister%5B%5D=122276&dienstleister%5B%5D=122274&dienstleister%5B%5D=122267&dienstleister%5B%5D=122246&dienstleister%5B%5D=122251&dienstleister%5B%5D=122257&dienstleister%5B%5D=122208&dienstleister%5B%5D=122226&anliegen%5B%5D=120686&herkunft=%2Fterminvereinbarung%2F'
while True:
response = requests.get(url)
body = bs4.BeautifulSoup(response.content)
links = body.select('.calendar-month-table')[0].select('td.buchbar a')
print(len(links), 'found')
if links:
args = ['notify-send', '-u', 'critical', 'Burgeramt']
days = ''
print('\n\n')
found = False
for link in links[:10]:
if 'href' in link.attrs:
day = int(link.text.strip())
if day > 15 and day < 20:
found = True
print('{}: http://service.berlin.de/terminvereinbarung/termin/{} '.format(day, link.attrs['href']))
if found:
print(args)
subprocess.Popen(args).wait()
time.sleep(10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment