Un Sussurro d’Agosto: La Danza tra Cielo e Terra…

In un caldo giorno d’Agosto, l’aria è impregnata di un calore soffocante e afoso, una calura che sembra stringere la terra in una morsa silenziosa. Le voci del giorno sussurrano languide, stanche dalla lotta con l’implacabile abbraccio del sole. Ma l’orizzonte comincia a fremere, a turbarsi con un palpito impercettibile. Le nuvole, prima lontane e innocue, avanzano come un esercito sordo, e l’ombra di un cambiamento si stende lentamente sulla terra assetata.
Il vento, prima assente, sorge con un sospiro gelido, come se trae respiro dalle profondità del mare. Le foglie delle alberature si agitano, scuotendosi dal torpore estivo, e l’aria si riempie del profumo di un imminente ristoro.
E poi, in un istante sospeso, una magia silenziosa: il primo ticchettio della pioggia sull’ombrellone, timido come un bacio rubato. Il sole, fino a quel momento sovrano incontrastato, è oscurato da un sipario di nuvole grigie, un velo che copre l’ardore della sua fiamma. Le gocce diventano una melodia, una canzone d’amore tra cielo e terra. La pioggia lava via l’arsura, accarezza la pelle dei presenti, bagna la terra arida. È un canto armonico, un ritorno alla vita, una danza fra gli elementi.
In questa pioggia d’Agosto, tutto parla, tutto canta, e il mondo sembra ritrovare un ordine più profondo, una bellezza nascosta. È un attimo fuori dal tempo, un sussurro della natura che racchiude in sé l’eternità.

Introduzione al web scraping: tecniche e strumenti per l’estrazione di dati

Web scraping is a technique that allows extracting and processing large amounts of unstructured data from the web through automated scripts that analyze the HTML structure of pages to identify and acquire the desired information; it allows quickly obtaining large amounts of online data for research, monitoring and data analytics, for example by extracting all prices and descriptions from an e-commerce site; the core Python libraries for scraping are Requests to download page content, BeautifulSoup to analyze HTML, and Selenium to handle dynamic pages with JavaScript; with BeautifulSoup it is possible to navigate the HTML as a tree of objects, searching and finding elements through tags, id, class and attributes; for scraping sites with multiple pages, loops can be used that visit each URL in automatic sequence; by adopting best practices with these tools it is possible to create effective, scalable and automated scraping scripts to extract and process large volumes of unstructured data for research, monitoring and data analytics purposes.


Il web scraping è una tecnica fondamentale per raccogliere ed elaborare grandi quantità di dati dal web. In questo articolo analizzeremo in dettaglio i concetti chiave, le migliori pratiche e gli strumenti necessari per iniziare a fare web scraping in modo efficace.

Cos’è il web scraping

Il web scraping consiste nell’estrarre e raccogliere dati da pagine web tramite script automatizzati. Funziona analizzando la struttura HTML delle pagine per identificare e acquisire le informazioni desiderate.

Il principale vantaggio dello scraping è la possibilità di ottenere velocemente un grande volume di dati non strutturati da fonti online per scopi di ricerca, monitoraggio, data analytics. Ad esempio, è possibile estrarre tutti i prezzi e le descrizioni da un e-commerce per analizzarne le dinamiche nel tempo.

Preparazione dell’ambiente

Per iniziare a fare web scraping in Python, è necessario installare alcune librerie fondamentali:

  • Requests: permette di scaricare il contenuto HTML delle pagine web
  • Beautiful Soup: analizza l’HTML e permette di estrarre facilmente dati selezionati
  • Selenium: per interagire con pagine web dinamiche che richiedono l’esecuzione di codice JavaScript

Si possono installare tramite il comando pip:

pip install requests beautifulsoup4 selenium

Scraping di base con Requests e BeautifulSoup

Importiamo le librerie necessarie:

import requests 
from bs4 import BeautifulSoup

Scarichiamo il contenuto HTML di una pagina con Requests:

url = 'https://example.com'
response = requests.get(url)

Analizziamolo con BeautifulSoup per estrarre il titolo e i paragrafi:

soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.text 
paragraphs = soup.find_all('p')

E scriviamo i dati estratti su file CSV per un’ulteriore elaborazione:

import csv
with open('output.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow([title])
    for p in paragraphs:
        writer.writerow([p.text])

Navigazione nella struttura HTML

BeautifulSoup mette a disposizione una serie di metodi per scorrere ed esplorare l’HTML come albero ad oggetti:

  • find() ricerca il primo elemento corrispondente
  • find_all() restituisce tutti gli elementi corrispondenti

Ad esempio, per estrarre tutti i link di una pagina:

links = soup.find_all('a')
for link in links:
   print(link['href'])

È possibile ricercare elementi tramite id, classe o altri attributi per individuare precisamente i dati desiderati.

Scraping di pagine JavaScript dinamiche

Molti siti web moderni utilizzano JavaScript per generare contenuti e pagine dinamicamente. In questi casi, è necessario Selenium, che consente di controllare un browser web per interagire pienamente con le pagine.

Ad esempio, per caricare una pagina dinamica e cliccare su un pulsante prima di scaricarne il contenuto:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get(url)
button = driver.find_element_by_id('load-more')
button.click()
html = driver.page_source
soup = BeautifulSoup(html)

Gestione di pagine multiple

Per scaricare dati da siti web con più pagine, è possibile realizzare script che visitano ogni URL utilizzando cicli e paginazione automatica.

Ad esempio, per estrarre prodotti da un e-commerce con più pagine:

import requests
from bs4 import BeautifulSoup
base_url = 'https://example.com/products?page='
final_page = 10
for x in range(1, final_page+1):
    print(f'Page {x}')
    url = base_url + str(x)
    
    response = requests.get(url)
    soup = BeautifulSoup(response.text)
    
    products = soup.find_all('div', class_='product')
    
    for product in products:
         name = product.find('h2').text
         print(name)

Come abbiamo visto, il web scraping è una tecnica potente che permette di ottenere ed elaborare grandi moli di dati non strutturati da fonti online. Requisiti fondamentali sono librerie come Requests, BeautifulSoup e Selenium, che consentono di automatizzare il processo di estrazione dati anche da pagine web complesse e dinamiche. Adottando le migliori pratiche illustrate e una strategia strutturata, è possibile realizzare script di scraping efficaci e scalabili per progetti di data analytics, monitoraggio, ricerca e altro ancora.

I Cani del Silenzio: Notturni d’Anima nel Progetto ‘The Silence of Dogs in Cars’…

Nelle notturne strade del ricordo e dell’anima, l’obiettivo del fotografo Martin Usborne ha immortalato un sentimento che trova la sua eco in ciascuno di noi: la solitudine, la paura dell’abbandono e quel barlume di speranza che si cela nel silenzio.

“The Silence of Dogs in Cars” non è un semplice progetto fotografico, ma un viaggio nel profondo dell’essere umano e dell’animale, una simbiosi che va oltre la mera apparenza.

In questi scatti, i cani, relegati nei loro abitacoli notturni, diventano i custodi di un’emozione pura e inespressa, quasi una metafora della nostra stessa esistenza. Ogni sguardo catturato è un ponte verso l’introspezione, una riflessione sulla nostra natura, così vicina a quella dell’animale, eppure così spesso dimenticata.
Martin ha saputo legare il filo invisibile del suo passato con una sensibilità unica, offrendo all’osservatore una visione che va oltre l’immagine. In un mondo sempre più caotico e rumoroso, questi cani ci invitano a fermarci, a riflettere sul silenzio, su quel buio che non è vuoto, ma pieno di vita, di emozioni, di attese.


“The Silence of Dogs in Cars” è un inno alla vulnerabilità, all’umiltà, all’empatia. È un’opera che, con la sua eleganza silenziosa, ci ricorda che anche nel buio più profondo, nel silenzio più assordante, c’è sempre una speranza, un’attesa, un amore incondizionato che ci lega gli uni agli altri, uomini e animali, in un eterno abbraccio dell’anima.