Python e Data Science – Introduzione

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

Lascia un commento