I am trying to scrape data from this website. To be specific, I want to scrape all the data from the following:
var bilancio_tree = [{"slug": "pcox-quadro-2-11", "label": "Totale generale delle Entrate", "values": [{"2021": {"abs": 1659238.91, "pc": 3463.96432150313}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": []}, {"slug": "pcox-quadro-2-2", "label": "Entrate correnti di natura tributaria, contributiva e perequativa", "values": [{"2021": {"abs": 618720.93, "pc": 1291.69296450939}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-2-16", "label": "Imposte,tasse e proventi assimilati", "values": [{"2021": {"abs": 461222.66, "pc": 962.886555323591}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-2-31", "label": "Compartecipazioni di tributi", "values": [{"2021": {"abs": 2231.31, "pc": 4.65826722338205}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-2-41", "label": "Fondi perequativi da Amministrazioni Centrali", "values": [{"2021": {"abs": 155266.96, "pc": 324.148141962422}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-2-51", "label": "Fondi perequativi dalla Regione o Provincia autonoma", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-3", "label": "Trasferimenti correnti", "values": [{"2021": {"abs": 114907.44, "pc": 239.890271398747}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-3-71", "label": "Trasferimenti correnti da Amministrazioni pubbliche -", "values": [{"2021": {"abs": 91755.54, "pc": 191.556450939457}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-3-81", "label": "Trasferimenti correnti da Famiglie", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-3-91", "label": "Trasferimenti correnti da Imprese", "values": [{"2021": {"abs": 23151.9, "pc": 48.3338204592902}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-3-101", "label": "Trasferimenti correnti da Istituzioni Sociali Private", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-3-111", "label": "Trasferimenti correnti dall'Unione europea e dal Resto del Mondo- previsione di cassa", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-4", "label": "Entrate extratributarie", "values": [{"2021": {"abs": 98243.25, "pc": 205.100730688935}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-4-131", "label": "Vendita di beni e servizi e proventi derivanti dalla gestione dei beni", "values": [{"2021": {"abs": 84043.78, "pc": 175.456743215031}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-4-141", "label": "Proventi derivanti dall'attivit\u00e0 di controllo e repressione delle irregolarit\u00e0 e degli illeciti", "values": [{"2021": {"abs": 1000.0, "pc": 2.08768267223382}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-4-151", "label": "Interessi attivi", "values": [{"2021": {"abs": 100.0, "pc": 0.208768267223382}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-4-161", "label": "Altre entrate da redditi da capitale", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-4-171", "label": "Rimborsi e altre entrate correnti", "values": [{"2021": {"abs": 13099.47, "pc": 27.3475365344468}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-5", "label": "Entrate in conto capitale", "values": [{"2021": {"abs": 451082.56, "pc": 941.717244258873}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-5-191", "label": "Tributi in conto capitale", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-5-201", "label": "Contributi agli investimenti", "values": [{"2021": {"abs": 316616.62, "pc": 660.99503131524}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-5-211", "label": "Altri trasferimenti in conto capitale", "values": [{"2021": {"abs": 123965.94, "pc": 258.801544885177}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-5-221", "label": "Entrate da alienazione di beni materiali e immateriali", "values": [{"2021": {"abs": 8500.0, "pc": 17.7453027139875}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-5-231", "label": "Altre entrate in conto capitale", "values": [{"2021": {"abs": 2000.0, "pc": 4.17536534446764}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-6", "label": "Entrate da riduzione di attivita\u0300 finanziarie", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-6-251", "label": "Alienazione di attivit\u00e0 finanziarie", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-6-261", "label": "Riscossione crediti di breve termine", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-6-266", "label": "Riscossione crediti di medio", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-6-271", "label": "Altre entrate per riduzione di attivit\u00e0 finanziarie", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-7", "label": "Accensione prestiti", "values": [{"2021": {"abs": 522.42, "pc": 1.09064718162839}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-7-291", "label": "Emissione di titoli obbligazionari", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-7-301", "label": "Accensione prestiti a breve termine", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-7-311", "label": "Accensione mutui e altri finanziamenti a medio lungo termine", "values": [{"2021": {"abs": 522.42, "pc": 1.09064718162839}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-7-321", "label": "Altre forme di indebitamento", "values": [{"2021": {"abs": 0.0, "pc": 0.0}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-8", "label": "Anticipazioni da istituto tesoriere/cassiere", "values": [{"2021": {"abs": 100000.0, "pc": 208.768267223382}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-8-336", "label": "Anticipazione da istituto tesoriere/cassiere", "values": [{"2021": {"abs": 100000.0, "pc": 208.768267223382}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}, {"slug": "pcox-quadro-2-9", "label": "Entrate per conto terzi e partite di giro", "values": [{"2021": {"abs": 275762.31, "pc": 575.704196242171}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}], "children": [{"slug": "pcox-quadro-2-9-351", "label": "Entrate per partite di giro", "values": [{"2021": {"abs": 200719.26, "pc": 419.038121085595}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}, {"slug": "pcox-quadro-2-9-361", "label": "Entrate per conto terzi", "values": [{"2021": {"abs": 75043.05, "pc": 156.666075156576}}, {"2022": {"abs": 0.0, "pc": 0.0}}, {"2023": {"abs": 0.0, "pc": 0.0}}]}]}];
I am trying to build a dataset of the following form (with all the variables listed above):
| Totale generale delle Entrate Total | Totale generale delle Entrate PC |
|---|---|
| 1659238.91 | 3463.96 |
Right now, I have the following script:
import requests
from bs4 import BeautifulSoup
import csv
import json
import re
URL = "https://openbilanci.it/armonizzati/bilanci/veglio-comune-bi/entrate/dettaglio?year=2021&type=preventivo"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html.parser')
data = soup.find_all("script")[19].string
p = re.compile('var bilancio_tree = (.*?);')
m = p.match(data)
stocks = json.loads(m.groups()[0])
for stock in stocks:
print(stock)
But, it's not working. I'm new to using python for web scraping, any help would be much appreciated!