Google News Scraping con Python: Guida Passo Passo

Ultimo aggiornamento il August 13, 2025

Non scorderò mai la prima volta che ho cercato di restare aggiornato sulle notizie per un lancio di prodotto. Avevo tre monitor accesi, una marea di schede su Google News e la costante paura di perdermi qualcosa di fondamentale—tipo un annuncio a sorpresa di un concorrente o una crisi di PR improvvisa. E non ero certo l’unico: oggi vengono pubblicati più di ogni giorno. Sono così tanti titoli che non riuscirei a leggerli nemmeno in una vita intera, figuriamoci prima della prossima pausa caffè.

Se lavori in sales, marketing, operations o PR, sai bene di cosa parlo. Monitorare le news a mano è come provare a bere da un idrante. Ecco perché il google news scraping con Python è una vera svolta: puoi automatizzare la raccolta delle notizie, analizzare i dati e non rischiare mai di perderti nulla—che tu stia monitorando il tuo brand, osservando i competitor o cercando di anticipare i trend. In questa guida ti porto passo passo: da un esempio base per chi parte da zero fino a costruire un estrattore google news python robusto e ripetibile. Parleremo di codice, buone pratiche e di come preparare i dati per l’analisi (con qualche aneddoto e battuta per non annoiarti).

Perché il web scraping google news è una mossa strategica per le aziende

Diciamolo senza giri di parole: il business si muove alla velocità dei titoli. Che tu sia in PR, sales o strategia, devi sapere cosa si dice—e subito. Il mercato globale degli strumenti di media monitoring vale già e si prevede che raddoppierà entro il 2030. Perché? Perché nessuna azienda può permettersi di perdere una notizia che può cambiare la reputazione, le vendite o la compliance.

media-monitoring-market.png

Ecco come lo scraping google news risultati può farti diventare la persona di riferimento in ufficio (o almeno quello che sa sempre tutto):

Caso d'usoVantaggi della raccolta automatica delle notizie
Monitoraggio della reputazione del brandIndividua subito notizie negative o crisi, così puoi reagire rapidamente (scopri come Dove ha gestito una crisi di PR).
Intelligence competitivaTieni d’occhio i lanci dei concorrenti, cambi di management o operazioni di M&A per affinare la tua strategia (dettagli).
Lead per le venditeMonitora le aziende target per nuovi finanziamenti, espansioni o eventi rilevanti (case study).
Analisi di trend e mercatoAggrega notizie di settore per individuare trend emergenti e il sentiment del mercato (perché è importante).
Gestione dei rischiImposta alert su cause legali, regolamenti o cambi di policy che possono impattare il business (esempi).

Monitorare a mano? È lento, soggetto a errori e rischi di perdere opportunità o minacce importanti (). Automatizzare lo scraping invece ti assicura un flusso costante e ordinato di notizie—niente più FOMO, solo informazioni utili.

Iniziare: le basi dell’Estrattore Web con Python (esempio per chi parte da zero)

Prima di buttarti su Google News, meglio fare pratica su un sito pensato per esercitarsi: . Qui puoi imparare senza rischiare blocchi o violazioni.

Ecco il percorso:

  1. Invia una richiesta alla homepage.
  2. Analizza l’HTML con BeautifulSoup.
  3. Estrai titoli e prezzi dei libri.
  4. Salva i dati in un DataFrame pandas ed esporta in CSV.
  5. Gestisci la paginazione e gli errori.

Passo 1: Richiesta e parsing HTML

Per prima cosa, recuperiamo la homepage con la libreria requests di Python:

1import requests
2url = "http://books.toscrape.com/index.html"
3response = requests.get(url)
4print(response.status_code)  # Dovrebbe stampare 200 se tutto ok

Un codice 200 significa che la richiesta è andata a buon fine ().

Ora analizziamo l’HTML:

1from bs4 import BeautifulSoup
2soup = BeautifulSoup(response.text, 'html.parser')

Ora hai un oggetto soup—il modo più semplice per navigare il DOM della pagina in Python ().

Passo 2: Estrazione dati e salvataggio in CSV

Recuperiamo tutti i libri:

1books = soup.find_all("li", {"class": "col-xs-6 col-sm-4 col-md-3 col-lg-3"})
2print(f"Trovati {len(books)} libri in questa pagina")

Estraiamo titoli e prezzi:

1book_list = []
2for item in books:
3    title = item.h3.a["title"]
4    price = item.find("p", class_="price_color").get_text()
5    book_list.append({"Title": title, "Price": price})

Salviamo tutto in CSV con pandas:

1import pandas as pd
2df = pd.DataFrame(book_list)
3df.to_csv("books.csv", index=False)

Oppure, se preferisci, usa il modulo csv di Python:

1import csv
2keys = book_list[0].keys()
3with open("books.csv", "w", newline="", encoding="utf-8") as f:
4    writer = csv.DictWriter(f, fieldnames=keys)
5    writer.writeheader()
6    writer.writerows(book_list)

Apri books.csv in Excel e goditi i tuoi nuovi superpoteri sui dati.

Passo 3: Gestione paginazione ed errori

Vuoi tutti i libri, non solo quelli della prima pagina? Ecco un ciclo:

1all_books = []
2for page in range(1, 51):  # 50 pagine totali
3    url = f"http://books.toscrape.com/catalogue/page-{page}.html"
4    try:
5        res = requests.get(url, timeout=10)
6        if res.status_code != 200:
7            break
8        soup = BeautifulSoup(res.text, 'html.parser')
9        books = soup.find_all("li", {"class": "col-xs-6 col-sm-4 col-md-3 col-lg-3"})
10        for item in books:
11            title = item.h3.a["title"]
12            price = item.find("p", class_="price_color").get_text()
13            all_books.append({"Title": title, "Price": price})
14    except requests.exceptions.RequestException as e:
15        print(f"Richiesta fallita: {e}")
16        continue

Questo ciclo gestisce la paginazione, si ferma se una pagina non esiste e intercetta errori di rete. (Consiglio: aggiungi time.sleep(1) tra le richieste per non sovraccaricare il sito.)

Complimenti! Ora conosci le basi dello scraping: richieste, parsing, estrazione, paginazione e gestione errori. Sono gli stessi principi che useremo per Google News.

Scraping Google News con Python: guida pratica

Pronto a salire di livello? Vediamo come realizzare uno scraping google news python che recupera titoli, link, fonti e orari—trasformando le notizie in dati strutturati pronti per l’analisi.

Configura l’ambiente Python

Assicurati di avere Python 3 e queste librerie:

1pip install requests beautifulsoup4 pandas

()

Ti servirà anche uno User-Agent per simulare un browser vero—altrimenti Google potrebbe bloccare le tue richieste ().

Costruisci l’estrattore google news python

Procediamo step by step:

1. Definisci l’URL di ricerca e i parametri

Gli URL di ricerca di Google News sono così:

1https://news.google.com/search?q=YOUR_QUERY&hl=en-US&gl=US&ceid=US:en
  • q: termine di ricerca
  • hl: lingua (es. en-US)
  • gl: paese (es. US)
  • ceid: paese:lingua (es. US:en)

Ecco come impostarlo in Python:

1base_url = "https://news.google.com/search"
2params = {
3    'q': 'technology',
4    'hl': 'en-US',
5    'gl': 'US',
6    'ceid': 'US:en'
7}
8headers = {
9    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...'
10}

()

2. Recupera la pagina dei risultati

1response = requests.get(base_url, params=params, headers=headers)
2html = response.text
3print(response.status_code)

()

3. Parsing ed estrazione dei dati

Analizziamo l’HTML ed estraiamo gli articoli:

1soup = BeautifulSoup(html, 'html.parser')
2articles = soup.find_all('article')
3news_data = []
4for art in articles:
5    headline_tag = art.find('h3')
6    title = headline_tag.get_text() if headline_tag else None
7    link_tag = art.find('a')
8    link = link_tag['href'] if link_tag else ''
9    if link.startswith('./'):
10        link = 'https://news.google.com' + link[1:]
11    source_tag = art.find(attrs={"class": "wEwyrc"})
12    source = source_tag.get_text() if source_tag else None
13    time_tag = art.find('time')
14    time_text = time_tag.get_text() if time_tag else None
15    snippet_tag = art.find('span', attrs={"class": "xBbh9"})
16    snippet = snippet_tag.get_text() if snippet_tag else None
17    news_data.append({
18        "title": title,
19        "source": source,
20        "time": time_text,
21        "link": link,
22        "snippet": snippet
23    })

()

Ora salviamo in CSV:

1df = pd.DataFrame(news_data)
2df.to_csv("google_news_results.csv", index=False)

Gestione dati mancanti

Controlla sempre che i tag esistano prima di accedervi. L’HTML di Google non è sempre uguale—alcune volte manca lo snippet o la fonte. Se manca un campo, imposta None o una stringa vuota.

Scraping di più pagine e gestione dei limiti

Google News usa lo scroll infinito, non la paginazione classica. Con requests di solito ottieni solo il primo gruppo di risultati. Se ti servono più notizie:

  • Usa il feed RSS della tua ricerca (può restituire più risultati; vedi )
  • Usa un browser headless (Selenium, Playwright) per simulare lo scroll (avanzato)
  • Oppure, esegui scraping a intervalli regolari (es. ogni ora) per catturare le novità

Attenzione: Google può bloccare se fai troppe richieste in poco tempo. Alcuni utenti hanno ricevuto errori 429 dopo solo 10 richieste rapide (). Per evitarlo:

  • Aggiungi time.sleep(random.uniform(2,6)) tra le richieste
  • Ruota User-Agent e IP se fai scraping su larga scala
  • Rileva CAPTCHAs o pagine di blocco nell’HTML e rallenta

Come rendere lo scraping google news risultati ripetibile e pronto per l’analisi

Ecco il trucco: uno scraping efficace non è solo “prendere i dati”—ma renderli ripetibili e subito utilizzabili per l’analisi. Se vuoi dashboard BI, monitoraggio PR o analisi competitor affidabili nel tempo, devi controllare lingua, regione, orario e duplicati.

Filtrare per lingua, regione e tempo

Google News personalizza molto i contenuti. Per risultati coerenti:

  • Usa i parametri hl, gl e ceid per lingua e regione ()
  • Ad esempio, hl=ko&gl=KR&ceid=KR:ko per notizie coreane, oppure hl=en-IN&gl=IN&ceid=IN:en per notizie in inglese dall’India

Per filtrare per tempo:

  • Google News non ha un parametro diretto per “ultime 24 ore”, ma i risultati sono di solito ordinati per data
  • Puoi filtrare dopo lo scraping: se time contiene “ora fa”, “minuti fa” o “Oggi”, tienilo; altrimenti scarta
  • Per più controllo, usa il feed RSS o operatori di ricerca avanzata (supporto variabile)

Filtrare e deduplicare i risultati

I duplicati sono il nemico dell’analisi. Ecco come evitarli:

  • Whitelist di fonti/argomenti: Filtra i dati per includere solo certe fonti o temi. Puoi anche usare l’operatore source: nella query (es. q=Tesla source:Reuters).
  • Deduplica per URL: Normalizza gli URL rimuovendo parametri di tracking (come utm_*). Esempio rapido:
1import urllib.parse
2clean_link = urllib.parse.urljoin(link, urllib.parse.urlparse(link).path)

()

  • Deduplica per titolo: Se più articoli hanno titoli simili, tienine solo uno. Puoi confrontare i titoli in minuscolo e senza punteggiatura.
  • Traccia gli articoli già visti: Se fai scraping ogni giorno, salva un hash dell’URL normalizzato. Prima di aggiungere un nuovo articolo, controlla se lo hai già.

Così i tuoi dati restano puliti e pronti per l’analisi—niente più titoli doppi o risultati di sentiment distorti ().

Confronto: Scraping Google News Python vs. API

Meglio costruire uno scraper python o usare un’API di terze parti? Ecco il confronto:

CriterioScraper Python fai-da-teServizio API Google News di terze parti
Sforzo di implementazioneScrivi e correggi il codice; adatta ai cambiamenti del sitoChiamate API pronte; niente parsing HTML
FlessibilitàEstrai qualsiasi campo o segui link aggiuntiviLimitato ai campi e opzioni supportati dall’API
Controllo sui datiControllo totale sui dati grezziDati pre-processati; ti fidi del parsing del provider
Scala e velocitàLimitato da IP/risorse; rischio blocchiProgettato per la scala; gestisce proxy e blocchi
AffidabilitàRischio di rottura se Google cambia HTML o blocca IPMolto affidabile; le API si adattano ai cambiamenti
ManutenzioneContinua: aggiorna selettori, gestisci anti-botMinima: il provider si occupa della manutenzione
CostoGratis (a parte il tempo e forse i proxy)A pagamento—di solito per richiesta o abbonamento (esempi di prezzi)
Rischio di bloccoAlto se non stai attento; Google può bannare l’IPBasso; l’API gestisce blocchi e retry
Freschezza dei datiDecidi tu quando fare scraping, ma troppo frequente può bloccareIn tempo reale; limiti elevati con il piano giusto
Aspetti legali/ToSDevi rispettare i termini di Google; il rischio è tuoSempre da verificare, ma le API spesso dichiarano fair use (non è un consiglio legale!)

Per progetti personali o piccoli monitoraggi, il fai-da-te è perfetto per imparare e avere controllo. Per produzione o grandi volumi, le API ti fanno risparmiare tempo e grattacapi. (E se vuoi il meglio di entrambi—niente codice, niente manutenzione—scopri Thunderbit qui sotto.)

Problemi comuni nello scraping google news python

Fare scraping su Google News non è sempre una passeggiata. Ecco cosa può andare storto (e come rimediare):

  • CAPTCHA o pagine di traffico insolito: Rallenta le richieste, ruota User-Agent e usa proxy se serve. Se compare un CAPTCHA, fermati e attendi ().
  • Errori HTTP 429/503: Sei stato limitato o bloccato. Usa backoff esponenziale, controlla robots.txt e non lanciare scraper in parallelo.
  • Cambiamenti nell’HTML: Google aggiorna spesso l’interfaccia. Ispeziona il nuovo HTML e aggiorna i selettori. Usa try/except per evitare crash.
  • Campi mancanti: Non tutti gli articoli hanno snippet o fonte. Adatta il codice per gestire questi casi.
  • Voci duplicate: Implementa la deduplicazione come descritto sopra.
  • Problemi di encoding: Usa sempre UTF-8 per scrivere i file.
  • Contenuti caricati via JavaScript: La maggior parte dei risultati di Google News è server-side, ma se serve il rendering JS, usa Selenium o Playwright (avanzato).

Per altri consigli, consulta e .

Best practice per uno scraping responsabile di Google News

Parliamo di etica e buone pratiche—perché con grandi poteri di scraping arrivano grandi responsabilità:

  • Rispetta robots.txt: Il file robots.txt di Google News vieta la scansione di alcune sezioni (). Anche se puoi fare scraping, è buona norma seguire le regole.
  • Non sovraccaricare i server: Aggiungi pause, esegui scraping fuori dagli orari di punta e non stressare il sito.
  • Usa i dati solo per scopi consentiti: Limita l’uso ad analisi di titoli, snippet e link. Non ripubblicare gli articoli interi ().
  • Cita sempre le fonti: Se condividi insight, accredita Google News e i publisher originali.
  • Aggiorna e monitora il tuo scraper: Il web cambia—così deve fare il tuo codice.
  • Rispetta privacy e leggi: Conserva i dati in modo sicuro e rispetta le normative.
  • Fair use e limiti di frequenza: Non esagerare—mantieni un ritmo moderato e fermati se richiesto ().

In sintesi: fai scraping da buon cittadino digitale. Il tuo futuro (e il reparto IT) ti ringrazieranno.

Riepilogo e prossimi passi

Ricapitolando:

  • Hai imparato le basi del web scraping con requests e BeautifulSoup—partendo da un sito statico fino a Google News.
  • Hai costruito un flusso di scraping Google News ripetibile: controllando lingua, regione e tempo; deduplicando i risultati; e preparando i dati per l’analisi.
  • Hai confrontato scraping fai-da-te e soluzioni API: capendo pro, contro e costi.
  • Hai acquisito competenze per risolvere problemi e seguire le best practice per uno scraping etico e responsabile.

E ora? Applica queste tecniche alle tue esigenze aziendali—che sia monitorare il brand, seguire i concorrenti o creare una dashboard personalizzata. Vuoi andare oltre? Prova a estrarre dati da altri siti di news, automatizza la pipeline o lancia un’analisi del sentiment sui titoli.

E se ti sei stancato di mantenere script Python (o vuoi solo risparmiare tempo), dai un’occhiata a . Thunderbit è un’estensione Chrome Estrattore Web AI che ti permette di estrarre dati da Google News e altri siti in pochi click—senza scrivere codice. Con funzioni come “AI Suggerisci Campi”, scraping programmato, navigazione tra sottopagine ed esportazione istantanea su Excel o Google Sheets, è il modo più semplice per automatizzare la raccolta di notizie per il tuo team. (Puoi anche .)

Per altri consigli sullo scraping, visita il , oppure scopri le nostre guide su , e .

Buono scraping—che i tuoi feed siano sempre aggiornati, ordinati e un passo avanti rispetto alla concorrenza.

Scritto da Shuai Guan, Co-founder & CEO di Thunderbit. Da anni mi occupo di SaaS, automazione e AI, e mi diverto ancora a trasformare il caos in dati utili e puliti. Se hai domande o vuoi scambiare esperienze di scraping, scrivimi pure.

Domande frequenti

1. Perché le aziende dovrebbero considerare lo scraping di Google News con Python?

Fare scraping su Google News permette alle aziende di automatizzare la raccolta di articoli rilevanti per il proprio brand, i concorrenti o il settore. Questa automazione consente un monitoraggio in tempo reale di crisi PR, mosse dei competitor, insight per le vendite, analisi di mercato e gestione dei rischi. Il monitoraggio manuale è lento e rischia di perdere aggiornamenti importanti, mentre lo scraping garantisce un flusso strutturato e sempre aggiornato di notizie rilevanti.

2. Quali sono i passaggi base per estrarre dati da Google News con Python?

Il processo prevede:

  • Configurare l’ambiente Python con librerie come requests, BeautifulSoup e pandas.
  • Definire l’URL di ricerca di Google News e i parametri (query, lingua, regione).
  • Inviare una richiesta con le intestazioni corrette (incluso uno User-Agent).
  • Analizzare l’HTML per estrarre dettagli come titolo, link, fonte, orario e snippet.
  • Salvare i dati estratti in un file CSV per l’analisi.
  • Gestire dati mancanti e deduplicare i risultati per dataset puliti e pronti all’analisi.

3. Quali difficoltà posso incontrare nello scraping di Google News e come risolverle?

Le sfide più comuni sono:

  • CAPTCHA o avvisi di traffico insolito: rallenta le richieste, ruota User-Agent e usa proxy se serve.
  • Limiti di frequenza (errori HTTP 429/503): inserisci pause e evita scraping parallelo.
  • Cambiamenti nell’HTML: aggiorna regolarmente i selettori e usa blocchi try/except.
  • Campi mancanti o incoerenti: controlla sempre che il tag esista prima di estrarre dati.
  • Voci duplicate: deduplica per URL o titolo.
  • Problemi di encoding: usa UTF-8 per salvare i file.
  • Contenuti caricati via JavaScript: per esigenze avanzate, usa strumenti come Selenium o Playwright.

4. Come posso rendere il mio workflow di scraping Google News ripetibile e pronto per l’analisi?

Per garantire ripetibilità e dati puliti:

  • Controlla lingua e regione usando i parametri hl, gl e ceid nell’URL.
  • Filtra i risultati per tempo, dopo lo scraping o usando i feed RSS.
  • Deduplica gli articoli normalizzando gli URL e confrontando i titoli.
  • Tieni traccia degli articoli già visti per evitare doppioni.
  • Conserva i dati in modo sicuro e documenta il processo per futuri aggiornamenti.

5. Meglio costruire uno scraper Google News o usare un’API di terze parti?

Costruire uno scraper offre pieno controllo, flessibilità ed è di solito gratuito (a parte il tempo e i proxy). Tuttavia, richiede manutenzione continua, rischia di rompersi se Google cambia HTML e ha un rischio maggiore di blocco. Le API di terze parti sono più affidabili, facili da scalare e gestiscono le misure anti-bot per te, ma hanno un costo e possono limitare il controllo sui dati. Per piccoli progetti o per imparare, il fai-da-te va benissimo; per produzione o grandi volumi, spesso le API sono la scelta migliore.

Prova Estrattore Web AI per Google News
Shuai Guan
Shuai Guan
Co-founder/CEO @ Thunderbit. Passionate about cross section of AI and Automation. He's a big advocate of automation and loves making it more accessible to everyone. Beyond tech, he channels his creativity through a passion for photography, capturing stories one picture at a time.
Topics
Google news scrapingWeb scraping google newsScraping google news python
Indice dei contenuti

Prova Thunderbit

Raccogli lead e altri dati in 2 clic. Potenziato dall’AI.

Scarica Thunderbit Gratis
Estrai dati con l’AI
Trasferisci facilmente i dati su Google Sheets, Airtable o Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week