# radiation data from stations in Poland based on https://mapa.paa.gov.pl/ from requests_html import HTMLSession session = HTMLSession() import json # get session and render html site r = session.get('https://mapa.paa.gov.pl/') r.html.render(sleep=1, keep_page=True, scrolldown=1) # find all CSS 'div' Selectors results = r.html.find('div') # list of attributes for all CSS Selectors list_attrs = [] for item in results: list_attrs.append(item.attrs) # list of dictionares with keys and values for "miasto", "wartosc" and 'status of radiation stations radiation_list = [] for item in list_attrs: if "('station',)" in str(item): radiation_dict = { 'miasto': item['data-nazwa'], 'wartosc': "{:.3f}".format(float(item['data-wartosc']) / 1000), 'status': item['data-status'], } radiation_list.append(radiation_dict) # load data to json format jsonString = json.dumps(radiation_list, ensure_ascii=False, sort_keys=True) print(jsonString) # write data to file with open('promieniowanie.json', 'w') as f: json.dump(radiation_list, f, ensure_ascii=False)