Raccolta di Notizie su Larga Scala: Google News, RSS e Freschezza
Il monitoraggio delle notizie si interrompe in tre punti prevedibili: ricerca resa in JavaScript, limiti di paginazione e limiti di frequenza per IP. Ecco il flusso di lavoro che sopravvive a tutti e tre: Google News, RSS, deduplica e un SLA di freschezza.
Il monitoraggio delle notizie sembra un problema risolto finché non provi a eseguirlo su un migliaio di editori ogni ora. Poi appaiono gli stessi tre ostacoli che un noto walkthrough di Scrapy e Selenium ha incontrato anni fa: i risultati di ricerca di cui hai bisogno sono resi in JavaScript e tornano vuoti a una semplice richiesta HTTP, la paginazione è limitata quindi puoi estrarre solo i primi cento risultati per query, e ogni editore limita la frequenza per IP quindi un singolo crawler si blocca dopo alcune centinaia di richieste. Un flusso di lavoro di monitoraggio dei media che sopravvive su larga scala non è un solo scraper intelligente — è un sistema stratificato di scoperta, estrazione, deduplicazione e freschezza. Questa guida costruisce quel sistema con Google News, RSS e un'estrazione pulita degli articoli, e indica dove si trova la linea etica.
Scoperta: RSS e il verticale di Google News
Non puoi monitorare ciò che non puoi trovare, e scansionare la homepage di ogni editore è uno spreco. Due canali di scoperta fanno il lavoro pesante. I feed RSS sono i più economici e puliti — approvati dagli editori, già strutturati e facili da sondare — ma la copertura è disomogenea e la cronologia è superficiale. Il verticale di Google News riempie le lacune: mette in evidenza le storie per argomento e per paese, con fonte, timestamp e snippet già analizzati. Invece di eseguire lo scraping dell'interfaccia News da solo, interroga tramite il SERP API, che restituisce il verticale come JSON senza parsing HTML e senza gestione dei blocchi da parte tua:
curl -G "https://api.quantumproxies.io/serp" \
--data-urlencode "engine=google_news" \
--data-urlencode "q=semiconductor export controls" \
--data-urlencode "gl=us" \
--data-urlencode "hl=en" \
-H "Authorization: Bearer YOUR_API_KEY"
Eseguire la stessa query con diversi codici paese gl è il modo in cui catturi la copertura regionale di una storia — una tecnica che conta perché lo stesso evento è inquadrato diversamente nei vari mercati. Per la meccanica del perché News e altri verticali resistono allo scraping ingenuo, vedi come funziona lo scraping SERP nel 2026.
Estrazione: quando l'articolo si difende
La scoperta ti dà gli URL; l'estrazione ti dà l'articolo. Molti siti di notizie servono ancora HTML pulito reso dal server, e per quelli una semplice richiesta tramite un IP rotante è sufficiente. Ma i principali outlet sempre più spesso rendono l'articolo — o almeno le pagine di ricerca e archivio — lato client, quindi un recupero grezzo restituisce un guscio vuoto. Questo è l'esatto modo di fallimento trattato in pagina vuota, dati mancanti. Piuttosto che eseguire una flotta di browser senza testa, affidati al Scraper API, che esegue la pagina e restituisce markdown pulito pronto per l'indicizzazione:
import requests
def fetch_article(url, api_key):
r = requests.get(
"https://api.quantumproxies.io/scrape",
params={"url": url, "render": "auto", "output": "markdown"},
headers={"Authorization": f"Bearer {api_key}"},
timeout=(5, 40),
)
r.raise_for_status()
return r.json() # { title, byline, published, markdown, canonical }
Il limite per IP che blocca le configurazioni con un solo crawler scompare qui perché le richieste si diffondono automaticamente su un pool residenziale rotante. Quando esegui il tuo crawler, pianifica la concorrenza per dominio piuttosto che globalmente — il ragionamento è in limiti di frequenza demistificati.

Normalizzazione e deduplicazione
La realtà disordinata delle notizie multi-sorgente è che la stessa storia arriva molte volte in forme incompatibili. Le date appaiono come 24 marzo 2021, 2 ore fa e timestamp ISO nello stesso batch; le firme variano nel formato; e le storie di agenzia dell'Associated Press o Reuters vengono ripubblicate alla lettera su dozzine di siti. Due passaggi di normalizzazione domano questo:
- Analizza ogni data in UTC. Le stringhe relative come 'ieri' e '3 giorni fa' devono essere risolte rispetto al tempo di recupero, altrimenti la tua logica di freschezza si rompe silenziosamente.
- Deduplica per URL canonico, poi per hash del contenuto. Il tag
<link rel="canonical">collassa le varianti di URL con parametri di tracciamento; un hash del corpo normalizzato cattura le copie di agenzia sindacate che vivono a URL diversi. - Mantieni una mappa delle fonti. Memorizza quali outlet hanno riportato una storia piuttosto che scartare i duplicati — 'ripreso da 40 outlet' è esso stesso il segnale nel monitoraggio dei media.
SLA di freschezza e pianificazione
Il monitoraggio dei media è giudicato sulla latenza: una menzione trovata con sei ore di ritardo è inutile per l'uso reputazionale o commerciale. Piuttosto che scansionare tutto con un unico orologio, suddividi il tuo polling. Argomenti caldi e query di notizie dell'ultima ora vengono ripollati ogni pochi minuti; la lunga coda di parole chiave di routine viene eseguita ogni ora o giornalmente. Tratta ogni livello come un SLA di freschezza e avvisa quando una fonte lo manca — la differenza tra una demo e una produzione è esattamente questo livello di monitoraggio, che trattiamo in eseguire scraper come software di produzione.
La linea del paywall
Alcune delle coperture più preziose si trovano dietro abbonamenti, ed è qui che il monitoraggio incontra l'etica. Raccogliere titoli, snippet, date di pubblicazione e corpi di articoli pubblici è monitoraggio dei media ordinario. Eludere un paywall per ottenere il testo completo di un articolo che non hai pagato è un atto diverso con conseguenze di copyright e termini di servizio. L'approccio duraturo è indicizzare ciò che è servito pubblicamente — titolo, dek, snippet, metadati — e collegarsi alla fonte per la lettura completa, o concedere in licenza feed da editori che li vendono. Questo è un orientamento informativo, non un consiglio legale; per qualsiasi cosa su larga scala, conferma il tuo approccio con un consulente.

Domande frequenti
Come faccio a eseguire lo scraping di Google News su larga scala?
Interroga il verticale di Google News tramite un SERP API piuttosto che eseguire lo scraping dell'interfaccia direttamente. Passi una query per argomento più i parametri gl e hl per paese e lingua, e ottieni indietro fonti, timestamp e snippet come JSON. Questo evita il rendering JavaScript e il blocco IP che rompono gli scraper News fatti in casa, e eseguire la query attraverso i codici paese cattura la copertura regionale della stessa storia.
Esiste un API di notizie gratuita per lo scraping degli articoli?
I feed RSS sono la cosa più vicina a un feed di notizie gratuito e approvato dagli editori e dovrebbero essere il tuo primo canale di scoperta. Sono strutturati e economici da sondare, ma la copertura è incompleta e la cronologia è superficiale. Per una copertura ampia e attuale su migliaia di outlet, combini RSS con una ricerca di notizie basata su SERP e estrazione diretta degli articoli, poiché nessuna singola fonte gratuita copre l'intero panorama mediatico.
Perché il mio scraper di notizie restituisce una pagina vuota?
Il sito rende il suo contenuto — spesso le pagine di ricerca e archivio specificamente — con JavaScript, quindi una semplice richiesta HTTP riceve un guscio HTML vuoto prima che gli script vengano eseguiti. O rendi la pagina con un API di rendering o basato su browser, o trova l'endpoint JSON sottostante che la pagina chiama. Un risultato vuoto significa quasi sempre rendering lato client piuttosto che un errore di rete.
Come faccio a deduplicare gli articoli di notizie?
Deduplica in due passaggi: prima collassa le varianti di URL usando il tag di link canonico della pagina per rimuovere le copie con parametri di tracciamento, poi fai l'hash del corpo dell'articolo normalizzato per catturare le storie di agenzia sindacate ripubblicate a URL diversi. Mantieni una mappa di quali outlet hanno riportato ogni storia piuttosto che eliminare i duplicati — nel monitoraggio dei media, la diffusione di una storia tra gli outlet è una metrica fondamentale.
Le notizie su larga scala non sono un problema di scraping, ma un problema di flusso di lavoro. Dividi scoperta, estrazione, normalizzazione e freschezza in fasi isolate, affidati al verticale di Google News e RSS per la copertura, e lascia che gli IP rotanti e un API di rendering assorbano il JavaScript e i limiti di frequenza che affondano le costruzioni con un solo crawler. Fai questo e un cambiamento di layout non farà mai crollare l'intero sistema.