import json import requests baseUrl = "https://bsvg.efa.de/bsvagstd/" busstop = input("enter busstop name: ") getStr = baseUrl+"XML_DM_REQUEST?"+ \ "outputFormat=JSON"+ \ "&stateless=1"+ \ "&locationServerActive=1" \ "&type_dm=stop"+ \ "&name_dm=\""+busstop+"\"" \ "&mode=direct" \ "&ptOptionsActive=1" \ "&useRealtime=1" response = requests.get(getStr) response.encoding = 'UTF-8' #print(json.dumps(, indent=1)) def prettyTime(hour, minute): if len(hour) < 2: hour="0"+hour if len(minute) < 2: minute="0"+minute return hour+":"+minute if "message" in response.json()['dm']: for item in response.json()['dm']['message']: if item['name'] == "error" and item['value'] == "name list": print("select one of:") for point in response.json()['dm']['points']: print(point['name']) exit() try: print("selected: "+response.json()['dm']['points']['point']['name']) for item in response.json()['departureList']: print(prettyTime(item['dateTime']['hour'], item['dateTime']['minute']), end="\t") if "realDateTime" in item: print(prettyTime(item['realDateTime']['hour'], item['realDateTime']['minute']), end="\t") else: print(" ",end='\t') print(item['servingLine']['number'], end="\t") print(item['servingLine']['direction']) except TypeError: print("Couldn't get list")