Scraper Google News avec Python : Guide étape par étape

Dernière mise à jour le August 13, 2025

Je me rappelle encore la toute première fois où j’ai voulu suivre l’actualité pour un lancement produit. Trois écrans, une douzaine d’onglets Google News ouverts, et cette angoisse de rater LA news importante—genre une annonce surprise d’un concurrent ou une crise de com’ qui débarque sans prévenir. Franchement, je ne suis pas le seul dans ce cas : aujourd’hui, il y a plus de qui sortent chaque jour sur le web. Même en y passant sa vie, c’est impossible de tout lire—alors avant la pause-café, c’est même pas la peine d’y penser.

Si tu bosses en vente, marketing, opérations ou communication, tu connais la galère. Suivre l’info à la main, c’est comme essayer de boire à la lance à incendie. C’est là que le scraping Google News avec Python devient ton super-pouvoir : tu automatises la collecte d’articles, tu structures les données pour l’analyse, et tu ne rates plus rien—que ce soit pour surveiller ta marque, tes concurrents ou flairer les tendances avant tout le monde. Dans ce guide, je t’explique comment passer d’un exemple simple à un extracteur Google News solide et réutilisable. On va parler code, astuces, et comment préparer tes données pour l’analyse (avec quelques anecdotes et une touche d’humour).

Pourquoi le scraping Google News est devenu indispensable

Soyons clairs : le business va à la vitesse des gros titres. Que tu sois en com’, en vente ou en stratégie, il faut savoir ce qui se dit—et tout de suite. Le marché mondial des outils de veille média pèse déjà et devrait doubler d’ici 2030. Pourquoi ? Parce qu’aucune boîte ne peut se permettre de passer à côté d’une info qui pourrait impacter sa réputation, ses ventes ou sa conformité.

media-monitoring-market.png

Voilà comment l’extraction automatisée des résultats Google News peut te transformer en héros du bureau (ou au moins en celui qui a toujours un coup d’avance) :

Cas d'usageAvantage de l'automatisation des données d'actualité
Veille sur la réputation de la marqueDétecte les bad buzz ou crises en temps réel pour réagir vite (exemple : Dove a su désamorcer une crise).
Veille concurrentielleSuis les lancements, changements de direction ou fusions/acquisitions de tes concurrents pour ajuster ta stratégie (détails).
Détection d’opportunités commercialesSurveille les prospects pour repérer levées de fonds, expansions ou événements marquants (étude de cas).
Analyse de tendances et du marchéAgrège l’actualité sectorielle pour détecter les tendances émergentes et le sentiment du marché (pourquoi c’est important).
Gestion des risquesReçois des alertes sur les procès, réglementations ou changements de politique qui pourraient impacter ton activité (exemples).

Faire la veille à la main ? C’est lent, tu risques de zapper des infos cruciales, et tu passes à côté d’opportunités ou de menaces majeures (). L’automatisation, elle, te donne un flux structuré et continu d’actualités—fini le FOMO, place à l’intelligence exploitable.

Premiers pas : les bases du web scraping avec Python (exemple pour débutant)

Avant de s’attaquer à Google News, on va s’entraîner sur un site fait pour ça : . Parfait pour tester sans risquer de se faire bloquer.

Notre plan d’attaque :

  1. Envoyer une requête à la page d’accueil.
  2. Analyser le HTML avec BeautifulSoup.
  3. Extraire les titres et prix des livres.
  4. Sauvegarder les données dans un DataFrame pandas puis exporter en CSV.
  5. Gérer la pagination et les erreurs.

Étape 1 : Envoyer une requête et parser le HTML

On commence par récupérer la page d’accueil avec la librairie requests de Python :

1import requests
2url = "http://books.toscrape.com/index.html"
3response = requests.get(url)
4print(response.status_code)  # Doit afficher 200 si tout va bien

Un code 200, c’est que tout roule ().

On parse ensuite le HTML :

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

On a maintenant un objet soup pour naviguer dans la page ().

Étape 2 : Extraire les données et sauvegarder en CSV

On récupère toutes les fiches de livres :

1books = soup.find_all("li", {"class": "col-xs-6 col-sm-4 col-md-3 col-lg-3"})
2print(f"{len(books)} livres trouvés sur cette page")

Puis on extrait titres et prix :

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({"Titre": title, "Prix": price})

On sauvegarde en CSV avec pandas :

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

Ou, à l’ancienne, avec le module csv :

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)

Ouvre books.csv dans Excel et admire ton nouveau super-pouvoir de collecte de données.

Étape 3 : Gérer la pagination et les erreurs

Pour récupérer tous les livres, il faut boucler sur les pages :

1all_books = []
2for page in range(1, 51):  # 50 pages au total
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({"Titre": title, "Prix": price})
14    except requests.exceptions.RequestException as e:
15        print(f"Requête échouée : {e}")
16        continue

Cette boucle gère la pagination, s’arrête si la page n’existe pas, et capture les erreurs réseau. (Petit tip : ajoute time.sleep(1) entre les requêtes pour ne pas surcharger le site.)

Bravo ! Tu maîtrises maintenant les bases du web scraping : requêtes, parsing, extraction, pagination et gestion des erreurs. C’est exactement ce qu’on va utiliser pour Google News.

Scraper Google News avec Python : mode d’emploi

Prêt à passer à la vitesse supérieure ? On va construire un extracteur Google News qui récupère titres, liens, sources et dates—pour transformer l’actualité mondiale en données structurées.

Préparer ton environnement Python

Vérifie que tu as Python 3 et ces librairies :

1pip install requests beautifulsoup4 pandas

()

Il te faudra aussi une chaîne User-Agent pour simuler un vrai navigateur—sinon, Google risque de te bloquer ().

Construire l’extracteur Google News en Python

On découpe les étapes :

1. Définir l’URL de recherche et les paramètres

Les URLs de recherche Google News ressemblent à ça :

1https://news.google.com/search?q=VOTRE_RECHERCHE&hl=fr-FR&gl=FR&ceid=FR:fr
  • q : ton mot-clé
  • hl : langue (ex : fr-FR)
  • gl : pays (ex : FR)
  • ceid : pays:langue (ex : FR:fr)

En Python :

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

()

2. Récupérer la page de résultats

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

()

3. Parser et extraire les données

On parse le HTML et on extrait les articles :

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        "titre": title,
19        "source": source,
20        "date": time_text,
21        "lien": link,
22        "extrait": snippet
23    })

()

On sauvegarde ensuite en CSV :

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

Gérer les données manquantes

Vérifie toujours si les balises existent avant d’y accéder. Le HTML de Google n’est pas toujours régulier—parfois il manque un extrait ou une source. Si un champ est absent, mets None ou une chaîne vide.

Scraper plusieurs pages et gérer les limites de requêtes

Google News utilise le scroll infini, pas de pagination classique. Avec requests, tu n’as généralement que le premier lot de résultats. Pour aller plus loin :

  • Utilise le flux RSS de ta requête (plus de résultats ; voir )
  • Utilise un navigateur headless (Selenium, Playwright) pour scroller (niveau avancé)
  • Ou scrape régulièrement (ex : toutes les heures) pour capter les nouveaux articles

Attention : Google peut te bloquer si tu vas trop vite. Certains se font recaler avec une erreur 429 après seulement 10 requêtes rapides (). Pour éviter ça :

  • Ajoute time.sleep(random.uniform(2,6)) entre les requêtes
  • Change de User-Agent et d’IP si tu scrapes à grande échelle
  • Détecte les CAPTCHAs ou pages de blocage dans le HTML et fais une pause

Rendre ton scraping Google News propre et prêt pour l’analyse

Le secret : un bon scraping, ce n’est pas juste “récupérer des données”—c’est obtenir des données propres, reproductibles et prêtes à l’analyse. Pour tes dashboards BI, la veille ou le suivi concurrentiel sur le long terme, il faut maîtriser la langue, la région, la période et éliminer les doublons.

Filtrer par langue, région et période

Google News personnalise beaucoup les résultats. Pour des données cohérentes :

  • Utilise les paramètres hl, gl et ceid pour la langue et la région ()
  • Exemple : hl=fr&gl=FR&ceid=FR:fr pour l’actualité française, ou hl=en-IN&gl=IN&ceid=IN:en pour l’anglais en Inde

Pour filtrer par période :

  • Google News n’a pas de paramètre direct “dernières 24h”, mais les résultats sont souvent triés par date
  • Filtre après scraping : si date contient “il y a x heures”, “aujourd’hui”, garde ; sinon, zappe
  • Pour plus de contrôle, utilise le flux RSS ou les opérateurs avancés (ça dépend des cas)

Filtrer et dédupliquer les résultats

Les doublons faussent l’analyse. Voici comment les éviter :

  • Liste blanche de sources/sujets : Filtre tes données pour ne garder que certaines sources ou thématiques. Tu peux même utiliser l’opérateur source: dans la requête (ex : q=Tesla source:Reuters).
  • Déduplication par URL : Normalise les URLs en supprimant les paramètres de tracking (comme utm_*). Exemple :
1import urllib.parse
2clean_link = urllib.parse.urljoin(link, urllib.parse.urlparse(link).path)

()

  • Déduplication par titre : Si plusieurs articles ont des titres très proches, garde-en un seul. Passe en minuscules et retire la ponctuation pour comparer vite fait.
  • Suivi des articles vus : Si tu scrapes tous les jours, stocke un hash de chaque URL normalisée. Avant d’ajouter un nouvel article, vérifie s’il existe déjà.

Comme ça, tes données restent propres et prêtes pour l’analyse—fini les doublons ou les résultats biaisés ().

Comparatif : scraper Python vs. API Google News

Faut-il coder son propre extracteur ou utiliser une API tierce ? On fait le point :

CritèreScraper Python maisonService API Google News tiers
Effort d’implémentationÉcrire et déboguer le code ; s’adapter aux changements du siteAppels API prêts à l’emploi ; pas de parsing HTML
FlexibilitéExtraire n’importe quel champ ou suivre des sous-liensLimité aux champs/options proposés par l’API
Contrôle des donnéesContrôle total sur les données brutesDonnées pré-traitées ; confiance dans le parsing du fournisseur
Échelle & rapiditéLimité par ton IP/ressources ; risque de blocagePensé pour l’échelle ; gestion des proxys/blocages incluse
FiabilitéPeut casser si Google change le HTML ou bloque l’IPTrès fiable ; l’API s’adapte aux changements
MaintenanceContinue : mise à jour des sélecteurs, gestion anti-botMinime : le fournisseur gère la maintenance
CoûtGratuit (hors temps passé, éventuels proxys)Payant—par requête ou abonnement (exemples de tarifs)
Risque de blocageÉlevé si tu n’es pas prudent ; Google peut bannir l’IPFaible ; l’API gère les blocages et retries
Fraîcheur des donnéesTu choisis quand scraper, mais trop fréquent = blocageTemps réel ; quotas élevés selon l’offre
Légal/ToSÀ toi de respecter les conditions Google ; risque à ta chargeToujours à surveiller, mais les API revendiquent souvent le fair use (pas un conseil juridique !)

Pour un projet perso ou de la veille ponctuelle, le DIY est top pour apprendre et garder la main. Pour la prod ou le volume, les API t’épargnent bien des galères. (Et si tu veux le meilleur des deux mondes—zéro code, zéro maintenance—regarde Thunderbit juste en dessous.)

Résoudre les galères courantes du scraping Google News

Scraper Google News, ce n’est pas toujours un long fleuve tranquille. Voici les pièges classiques (et comment les éviter) :

  • CAPTCHAs ou pages “trafic inhabituel” : Ralentis tes requêtes, change de User-Agent, utilise des proxys si besoin. Si tu tombes sur un CAPTCHA, stoppe et attends ().
  • Erreurs HTTP 429/503 : Tu es limité ou bloqué. Mets en place un backoff exponentiel, vérifie robots.txt, évite le scraping en parallèle.
  • Changements de structure HTML : Google change souvent son interface. Inspecte le nouveau HTML et mets à jour tes sélecteurs. Entoure l’extraction de try/except pour éviter les crashs.
  • Champs manquants : Tous les articles n’ont pas d’extrait ou de source. Adapte ton code pour gérer ces cas.
  • Doublons : Mets en place la déduplication comme vu plus haut.
  • Problèmes d’encodage : Utilise UTF-8 partout pour l’écriture des fichiers.
  • Contenu chargé en JavaScript : La plupart des résultats Google News sont côté serveur, mais pour du JS, utilise Selenium ou Playwright (avancé).

Pour plus d’astuces, check et .

Bonnes pratiques pour un scraping Google News responsable

Parlons éthique et bonnes pratiques—parce qu’avec un grand pouvoir, viennent de grandes responsabilités :

  • Respecte robots.txt : Le robots.txt de Google News interdit certains chemins (). Même si c’est faisable techniquement, il vaut mieux suivre ces règles.
  • N’épuise pas les serveurs : Ajoute des délais, scrape en heures creuses, évite de surcharger le site.
  • Utilise les données à bon escient : Limite-toi aux titres, extraits et liens pour l’analyse. Ne republie pas les articles complets ().
  • Cite tes sources : Si tu partages des analyses, crédite Google News et les éditeurs d’origine.
  • Surveille et mets à jour ton scraper : Le web bouge—ton code aussi.
  • Respecte la vie privée et la législation : Stocke les données en sécurité et respecte les lois sur la confidentialité.
  • Fair use et limites de requêtes : Reste raisonnable, et sois prêt à stopper si on te le demande ().

En résumé : scrape comme un citoyen du web responsable. Ton futur toi (et ton DSI) te remercieront.

Points clés et prochaines étapes

En résumé :

  • Tu as appris les bases du web scraping avec requests et BeautifulSoup—d’abord sur un site statique, puis sur Google News.
  • Tu as construit un workflow de scraping Google News réutilisable : gestion de la langue, région, période ; déduplication ; données prêtes pour l’analyse.
  • Tu as comparé le scraping DIY aux solutions API : avantages et inconvénients en termes de contrôle, fiabilité et coût.
  • Tu as acquis des réflexes de dépannage et de bonnes pratiques pour un scraping éthique et efficace.

La suite ? Applique ces techniques à tes besoins : veille marque, suivi concurrentiel, dashboard d’actualité sur-mesure… Tu veux aller plus loin ? Tente d’autres sites d’info, automatise ton pipeline, ou lance une analyse de sentiment sur les titres.

Et si tu en as marre de maintenir des scripts Python (ou que tu veux gagner du temps), teste . Thunderbit, c’est une extension Chrome d’extraction web boostée à l’IA, qui te permet de scraper Google News et d’autres sites en quelques clics—sans coder. Avec des fonctions comme “Suggestion de champs IA”, scraping programmé, navigation sur les sous-pages, et export instantané vers Excel ou Google Sheets, c’est la solution la plus simple pour automatiser la veille pour ton équipe. (Tu peux même .)

Pour plus d’astuces, va voir le , ou découvre nos guides sur , , et .

Bon scraping—et que tes flux d’actualité soient toujours frais, bien rangés, et un cran devant la concurrence.

Rédigé par Shuai Guan, cofondateur & CEO de Thunderbit. Après des années dans le SaaS, l’automatisation et l’IA, j’adore toujours transformer le chaos en données exploitables. Des questions ou envie d’échanger sur le scraping ? Contacte-moi !

FAQ

1. Pourquoi les entreprises devraient-elles scraper Google News avec Python ?

Scraper Google News permet d’automatiser la collecte d’articles pertinents pour ta marque, tes concurrents ou ton secteur. Cette automatisation facilite la veille en temps réel sur les crises, les mouvements concurrents, la détection d’opportunités commerciales, l’analyse de tendances et la gestion des risques. Le suivi manuel est lent et source d’oublis, alors que le scraping garantit un flux structuré et à jour d’informations clés.

2. Quelles sont les étapes de base pour scraper Google News avec Python ?

Le process, c’est :

  • Préparer ton environnement Python avec les librairies requests, BeautifulSoup et pandas.
  • Définir l’URL de recherche Google News et les paramètres (requête, langue, région).
  • Envoyer une requête avec les bons headers (User-Agent inclus).
  • Parser le HTML pour extraire titre, lien, source, date et extrait.
  • Sauvegarder les données extraites dans un fichier CSV pour l’analyse.
  • Gérer les données manquantes et dédupliquer les résultats pour un jeu de données propre.

3. Quels sont les défis du scraping Google News et comment les surmonter ?

Les galères classiques :

  • CAPTCHAs ou alertes “trafic inhabituel” : ralentir les requêtes, changer de User-Agent, utiliser des proxys.
  • Limites de requêtes (erreurs HTTP 429/503) : ajouter des délais, éviter le scraping en parallèle.
  • Changements de structure HTML : mettre à jour régulièrement les sélecteurs et utiliser des blocs try/except.
  • Champs manquants ou incohérents : toujours vérifier l’existence d’une balise avant extraction.
  • Doublons : dédupliquer par URL ou titre.
  • Problèmes d’encodage : utiliser l’UTF-8 pour l’enregistrement.
  • Contenu chargé en JavaScript : pour les besoins avancés, utiliser Selenium ou Playwright.

4. Comment rendre son workflow de scraping Google News reproductible et prêt pour l’analyse ?

Pour garantir la reproductibilité et la propreté des données :

  • Maîtrise la langue et la région via les paramètres hl, gl et ceid dans l’URL.
  • Filtre les résultats par période, après scraping ou via les flux RSS.
  • Déduplique les articles en normalisant les URLs et en comparant les titres.
  • Suis les articles déjà vus pour éviter les doublons.
  • Stocke tes données en sécurité et documente ton process pour les futures mises à jour.

5. Faut-il créer son propre extracteur Google News ou utiliser une API tierce ?

Développer son propre extracteur offre un contrôle total, de la flexibilité et c’est généralement gratuit (hors temps et éventuels proxys). Mais ça demande de la maintenance, peut casser si Google change son HTML, et le risque de blocage est plus élevé. Les API tierces sont plus fiables, faciles à utiliser à grande échelle, et gèrent l’anti-bot pour toi, mais elles sont payantes et limitent parfois le contrôle sur les données. Pour l’apprentissage ou les petits projets, le DIY est idéal ; pour la prod ou le volume, les API sont souvent préférables.

Essayez l’Extracteur Web IA pour 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
Scraping Google NewsExtraction de données Google NewsScraper Google News avec Python
Sommaire

Essayez Thunderbit

Collectez des leads et d’autres données en 2 clics. Propulsé par l’IA.

Obtenir Thunderbit Gratuit
Extraire des données avec l’IA
Transférez facilement vos données vers Google Sheets, Airtable ou Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week