You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB
Python

import sys
import json
import requests
pendlerUrl = 'https://statistik.arbeitsagentur.de/PendlerData'
pendlerParams = { 'year_month' : '202006', 'view' : 'renderPendler' }
f = open('kreise.json', 'r')
kreise = f.read()
f.close()
geojson = json.loads(kreise)
while not all('auspendler' in f['properties'] for f in geojson['features']):
for i in range(len(geojson['features'])):
f = geojson['features'][i];
if 'auspendler' in f['properties']:
continue
else:
print('fetching', f['properties']['ID'], i)
pendlerParams['regionInd'] = f['properties']['ID']
try:
pendlerParams['type'] = 'ein'
r = requests.get(pendlerUrl, params=pendlerParams)
f['properties']['einpendler'] = json.loads(r.text)
pendlerParams['type'] = 'aus'
r = requests.get(pendlerUrl, params=pendlerParams)
f['properties']['auspendler'] = json.loads(r.text)
except KeyboardInterrupt:
sys.exit(1)
except:
print('errored at', i)
continue
f = open('pendler.json', 'w')
f.write(json.dumps(geojson))
f.close()