Da qualche tempo circola la parola Python associata ad un nuovo mondo detto Data Science o Scienza dei Dati in italiano e relative figure professionali quali il Data Scientist. Cerchiamo di capire di cosa si parla e di introdurre l’argomento in svariati articoli/lezioni alla portata di uno studente di scuola superiore.
L’esempio che vediamo è quello che si dice web scraping, un piccolo software che scandaglia una pagina web impostata e ne estrapola delle informazioni. In questo caso, il tool si collega ad una pagina con il mio orario scolastico e genera un json con i dati ottenuti. Il json è un formato molto versatile che può quindi essere dato in pasto ad altri software o usato per visualizzare lato client i dati estratti.
from bs4 import BeautifulSoup
import requests
import json
for docente in range(0,104):
url="http://www.iisteramo.edu.it/informazioni/orario_itis/2020_21/settimana_4/Docenti/Docente"+str(docente)+".html"
# Preleva il flusso HTML grezzo
html_content = requests.get(url).text
# Parse html
soup = BeautifulSoup(html_content, "lxml")
table = soup.find("table")
tr = table.find_all("tr")
giorni = []
primo = []
secondo = []
terzo = []
quarto = []
quinto = []
sesto = []
settimo = []
for td in tr[0].find_all("td"):
giorni.append(td.text.strip())
for td in tr[1].find_all("td"):
primo.append(td.text.strip())
for td in tr[2].find_all("td"):
secondo.append(td.text.strip())
for td in tr[3].find_all("td"):
terzo.append(td.text.strip())
for td in tr[4].find_all("td"):
quarto.append(td.text.strip())
for td in tr[5].find_all("td"):
quinto.append(td.text.strip())
for td in tr[6].find_all("td"):
sesto.append(td.text.strip())
for td in tr[7].find_all("td"):
settimo.append(td.text.strip())
data = {0:giorni, 1:primo, 2:secondo, 3:terzo, 4:quarto, 5:quinto, 6:sesto, 7:settimo}
file = "json"+str(docente)+".json"
f = open(file,'w')
json.dump(data, f)
f.close()
Ultima modifica 31 Gennaio 2022