Google News Scrapen met Python: Een Stapsgewijze Handleiding

Laatst bijgewerkt op August 13, 2025

Ik zal nooit vergeten hoe hectisch het voelde om tijdens een productlancering het nieuws bij te houden. Drie schermen open, overal Google News-tabbladen, en steeds die angst dat ik nét dat ene belangrijke bericht zou missen—zoals een onverwachte actie van de concurrent of een plotselinge PR-storm. En ik was niet de enige: tegenwoordig verschijnen er dagelijks meer dan online. Dat zijn meer headlines dan je ooit kunt lezen, zelfs niet als je de hele dag koffie drinkt.

Werk je in sales, marketing, operations of PR? Dan herken je het vast. Handmatig nieuws volgen voelt als proberen te drinken uit een brandslang. Daarom is google news scraping met Python zo’n gamechanger: je automatiseert het verzamelen van nieuws, kunt data makkelijk analyseren en mist nooit meer een belangrijk bericht—of je nu je merk in de gaten houdt, concurrenten volgt of trends wilt spotten voordat ze mainstream zijn. In deze gids neem ik je stap voor stap mee: van een simpel webscraping google news voorbeeld tot het bouwen van een betrouwbare, herhaalbare google news scraper python. We behandelen code, best practices en hoe je je data klaarstoomt voor analyse (met af en toe een anekdote of grapje tussendoor).

Waarom Google News Scraping Onmisbaar is voor Bedrijven

Laten we eerlijk zijn: zakendoen gaat tegenwoordig net zo snel als het nieuws. Of je nu in PR, sales of strategie werkt, je wilt direct weten wat er speelt. De wereldwijde markt voor media monitoring tools is nu al waard en zal naar verwachting verdubbelen tegen 2030. Waarom? Omdat bedrijven zich geen misstap kunnen veroorloven die hun reputatie, omzet of compliance schaadt.

media-monitoring-market.png

Zo maak je met google news resultaten scrapen het verschil op kantoor (of ben je in elk geval altijd op de hoogte):

ToepassingVoordeel van Geautomatiseerde Nieuwsdata
Merkreputatie MonitorenVang negatieve publiciteit of crisissen vroeg op, zodat je snel kunt reageren (zie hoe Dove met nieuwsmonitoring een PR-crisis wist te voorkomen).
ConcurrentieanalyseVolg productlanceringen, bestuurswissels of overnames van concurrenten om je eigen strategie te bepalen (meer info).
Sales Leads & InzichtenHoud prospects in de gaten voor investeringen, uitbreidingen of andere nieuwswaardige gebeurtenissen (case study).
Trend- & MarktanalyseVerzamel branche-informatie om trends en sentiment te signaleren (waarom dit belangrijk is).
RisicomanagementStel meldingen in voor rechtszaken, regelgeving of beleidswijzigingen die je bedrijf raken (voorbeelden).

Handmatig nieuws volgen? Dat is traag, foutgevoelig en je mist gegarandeerd kansen of bedreigingen (). Met geautomatiseerd scraping google news python krijg je een continue, gestructureerde stroom van nieuws—geen FOMO meer, alleen bruikbare inzichten.

Aan de Slag: Webscraping Google News Basis met Python (Beginnerproof)

Voordat we Google News induiken, beginnen we met een oefenvoorbeeld op een toegankelijke site: . Deze site is speciaal bedoeld om te oefenen, dus je hoeft niet bang te zijn voor blokkades of regels.

Onze stappen:

  1. Verstuur een verzoek naar de homepage.
  2. Parseer de HTML met BeautifulSoup.
  3. Haal boektitels en prijzen op.
  4. Sla de data op in een pandas DataFrame en exporteer als CSV.
  5. Doorloop meerdere pagina’s en vang fouten netjes af.

Stap 1: Verzoeken Versturen en HTML Parsen

Eerst halen we de homepage op met de requests-bibliotheek:

1import requests
2url = "http://books.toscrape.com/index.html"
3response = requests.get(url)
4print(response.status_code)  # Geeft 200 als het gelukt is

Statuscode 200? Dan zit je goed ().

Nu de HTML parsen:

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

Je hebt nu een soup object—een handige manier om de pagina te doorzoeken ().

Stap 2: Data Extracten en Opslaan als CSV

Pak alle boeken op de pagina:

1books = soup.find_all("li", {"class": "col-xs-6 col-sm-4 col-md-3 col-lg-3"})
2print(f"Gevonden {len(books)} boeken op deze pagina")

Nu titels en prijzen ophalen:

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})

Sla op als CSV met pandas:

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

Of, als je liever old-school werkt, met het ingebouwde csv-module:

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)

Open books.csv in Excel en zie je data-magic gebeuren.

Stap 3: Paginering en Fouten Afhandelen

Wil je álle boeken, niet alleen de eerste pagina? Gebruik een loop:

1all_books = []
2for page in range(1, 51):  # 50 pagina’s totaal
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"Request failed: {e}")
16        continue

Deze loop regelt paginering, stopt als een pagina niet bestaat en vangt netwerkfouten af. (Tip: voeg time.sleep(1) toe tussen verzoeken om beleefd te blijven.)

Gefeliciteerd! Je kent nu de basis van webscraping: verzoeken, parsen, extractie, paginering en foutafhandeling. Deze technieken gebruik je straks ook voor scraping google news python.

Google News Resultaten Scrapen met Python: Stap voor Stap

Klaar voor het echte werk? We gaan een google news scraper python bouwen die koppen, links, bronnen en tijdstempels ophaalt—en zo het wereldnieuws omzet in gestructureerde data.

Je Python-omgeving Inrichten

Zorg dat je Python 3 en deze libraries hebt:

1pip install requests beautifulsoup4 pandas

()

Je hebt ook een User-Agent nodig om je als echte browser voor te doen—anders krijg je van Google soms geen toegang ().

De Google News Scraper Bouwen in Python

We splitsen het op:

1. Zoek-URL en Parameters Definiëren

Google News zoek-URL’s zien er zo uit:

1https://news.google.com/search?q=JOUW_ZOEKWOORD&hl=nl&gl=NL&ceid=NL:nl
  • q: je zoekterm
  • hl: taal (bijv. nl)
  • gl: land (bijv. NL)
  • ceid: land:taal (bijv. NL:nl)

Zo stel je het in Python in:

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

()

2. Resultatenpagina Ophalen

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

()

3. Data Parsen en Extracten

Parseer de HTML en haal artikelen op:

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    })

()

Sla op als CSV:

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

Omgaan met Ontbrekende Data

Controleer altijd of tags bestaan voordat je ze uitleest. Google’s HTML is niet altijd consistent—soms is er geen snippet of bron. Zet ontbrekende velden op None of een lege string.

Meerdere Pagina’s Scrapen en Rate Limits

Google News gebruikt infinite scroll, geen simpele paginanummers. Met requests krijg je meestal alleen de eerste resultaten. Wil je meer?

  • Gebruik de RSS-feed van je zoekopdracht (geeft vaak meer resultaten; zie )
  • Gebruik een headless browser (Selenium, Playwright) voor scrollen (geavanceerd)
  • Of scrape vaker (bijv. elk uur) om nieuwe artikelen te vangen

Let op: Google blokkeert je als je te snel scrape’t. Gebruikers melden 429-fouten na slechts 10 snelle verzoeken (). Voorkom dit door:

  • time.sleep(random.uniform(2,6)) toe te voegen tussen verzoeken
  • User-Agents en IP’s te roteren bij grootschalig scrapen
  • CAPTCHAs of blokkadepagina’s te detecteren en te pauzeren

Je Google News Scraping Herhaalbaar en Analyse-Klaar Maken

Het geheim: goede scraping draait niet alleen om “data binnenhalen”—maar om reproduceerbare, analyseerbare data. Wil je BI-dashboards, PR-monitoring of concurrentieanalyse die blijft werken? Dan moet je letten op taal, regio, tijd en dubbele artikelen.

Filteren op Taal, Regio en Tijd

Google News personaliseert sterk. Voor consistente resultaten:

  • Gebruik hl, gl en ceid parameters voor taal en regio ()
  • Bijvoorbeeld, hl=nl&gl=NL&ceid=NL:nl voor Nederlands nieuws

Voor tijdsfiltering:

  • Google News heeft geen directe “afgelopen 24 uur” parameter, maar sorteert meestal op recentheid
  • Je kunt na het scrapen filteren: als time “uur geleden”, “minuten geleden” of “Vandaag” bevat, houd je het artikel; anders sla je het over
  • Voor meer controle kun je de RSS-feed of geavanceerde zoekoperators proberen (ondersteuning wisselt)

Duplicaten Verwijderen

Dubbele artikelen verstoren je analyse. Zo pak je dat aan:

  • Bron/topic whitelists: Filter je data op specifieke bronnen of onderwerpen. Je kunt zelfs de source: operator in je zoekopdracht gebruiken (bijv. q=Tesla source:Reuters).
  • Dedupliceren op URL: Maak URLs schoon door trackingparameters te verwijderen:
1import urllib.parse
2clean_link = urllib.parse.urljoin(link, urllib.parse.urlparse(link).path)

()

  • Dedupliceren op titel: Als meerdere artikelen bijna dezelfde titel hebben, houd er dan één. Vergelijk bijvoorbeeld op kleine letters en zonder leestekens.
  • Gelezen artikelen bijhouden: Scrape je dagelijks? Sla een hash van elke genormaliseerde URL op en check of je het artikel al hebt gezien.

Zo blijft je dataset schoon en klaar voor analyse—geen dubbele koppen of vertekende sentimenten ().

Vergelijking: Python Scraper vs. Google News API’s

Zelf een scraper bouwen of een externe Google News API gebruiken? Een vergelijking:

CriteriaZelf Python ScraperExterne Google News API
ImplementatieZelf code schrijven en debuggen; aanpassen bij sitewijzigingenDirecte API-calls; geen HTML-parsing nodig
FlexibiliteitHaal elk gewenst veld op, volg sublinksBeperkt tot de velden die de API biedt
DatacontroleVolledige controle over ruwe dataData is voorbewerkt; je vertrouwt op hun parsing
Schaal & SnelheidBeperkt door je IP/resources; kans op blokkadesOntworpen voor schaal; provider regelt proxies en blokkades
BetrouwbaarheidKan breken bij HTML-wijzigingen of IP-blokkadesZeer betrouwbaar; API’s passen zich aan
OnderhoudDoorlopend: selectors updaten, anti-botmaatregelenMinimaal: provider regelt onderhoud
KostenGratis (behalve je tijd, evt. proxykosten)Betaald—per verzoek of maandelijkse limiet (prijsvoorbeelden)
Kans op blokkadeHoog als je niet oplet; Google kan je IP blokkerenLaag; API regelt blokkades en retries
Data-actualiteitJe bepaalt zelf wanneer je scrape’t, maar te vaak kan blokkades opleverenReal-time; hoge limieten met goed abonnement
Juridisch/ToSJe moet zelf zorgen voor naleving van Google’s voorwaardenNog steeds opletten, maar API’s claimen vaak fair use (geen juridisch advies!)

Voor hobbyprojecten of kleine monitoring is zelf bouwen ideaal om te leren en alles in de hand te houden. Voor productie of grootschalig gebruik besparen API’s je veel tijd en frustratie. (Wil je het beste van beide werelden—geen code, geen onderhoud? Kijk dan hieronder bij Thunderbit.)

Veelvoorkomende Problemen bij Google News Scraping

Google News scraping verloopt niet altijd vlekkeloos. Dit kan er misgaan (en zo los je het op):

  • CAPTCHAs of “ongebruikelijk verkeer” pagina’s: Vertraag je verzoeken, roteer User-Agents en gebruik indien nodig proxies. Zie je een CAPTCHA? Stop en wacht even ().
  • HTTP 429/503 fouten: Je wordt gelimiteerd of geblokkeerd. Gebruik backoff, check robots.txt en draai geen parallelle scrapers.
  • HTML-structuur verandert: Google past de UI vaak aan. Inspecteer de nieuwe HTML en update je selectors. Gebruik try/except om crashes te voorkomen.
  • Ontbrekende velden: Niet elk artikel heeft een snippet of bron. Zorg dat je code hier flexibel mee omgaat.
  • Dubbele resultaten: Implementeer deduplicatie zoals hierboven beschreven.
  • Encoding-problemen: Gebruik overal UTF-8 bij het opslaan van bestanden.
  • JavaScript-content: De meeste Google News-resultaten zijn server-side, maar voor JS-content kun je Selenium of Playwright gebruiken (geavanceerd).

Meer tips? Kijk op en .

Best Practices voor Verantwoord Google News Scraping

Laten we het hebben over ethiek en best practices—want met grote scraping-kracht komt grote verantwoordelijkheid:

  • Respecteer robots.txt: Google News’ robots.txt verbiedt crawling van bepaalde paden (). Ook als je technisch kunt scrapen, is het netjes om deze regels te volgen.
  • Overbelast servers niet: Voeg vertragingen toe, scrape buiten piekuren en stuur niet te veel verzoeken tegelijk.
  • Gebruik data alleen voor toegestane doeleinden: Beperk je tot koppen, snippets en links voor analyse. Publiceer geen volledige artikelen ().
  • Vermeld je bronnen: Deel je inzichten? Geef Google News en de originele uitgevers de credits.
  • Houd je scraper up-to-date: Het web verandert—je code dus ook.
  • Privacy en wetgeving: Sla data veilig op en houd je aan privacyregels.
  • Fair use en rate limiting: Ga niet te ver—scrape op bescheiden schaal en stop als je wordt gevraagd ().

Kortom: scrape als een goede internetburger. Je toekomstige zelf (en je IT-afdeling) zullen je dankbaar zijn.

Samenvatting en Volgende Stappen

Even op een rijtje:

  • Je hebt de basis van webscraping geleerd met Python’s requests en BeautifulSoup—eerst op een statische site, daarna op Google News.
  • Je hebt een herhaalbare google news scraping workflow gebouwd: met controle over taal, regio en tijd; deduplicatie; en data die klaar is voor analyse.
  • Je hebt DIY scraping vergeleken met API-oplossingen: en de afwegingen tussen controle, betrouwbaarheid en kosten gezien.
  • Je hebt troubleshooting en best practices opgepikt voor verantwoord en ethisch scrapen.

Wat nu? Pas deze technieken toe op je eigen business—of je nu je merk wilt monitoren, concurrenten volgt of een eigen nieuws-dashboard bouwt. Verder gaan? Probeer andere nieuwssites te scrapen, automatiseer je datastroom of analyseer sentiment in koppen.

En ben je het zat om Python-scripts te onderhouden (of wil je gewoon tijd besparen)? Kijk dan eens naar . Thunderbit is een AI-webscraper Chrome-extensie waarmee je Google News en andere sites in een paar klikken kunt scrapen—zonder code. Met functies als “AI Suggest Fields”, geplande scraping, subpagina-navigatie en directe export naar Excel of Google Sheets, is het de makkelijkste manier om nieuwsverzameling te automatiseren voor je team. (Je kunt de .)

Meer scraping-tips? Bekijk de , of lees onze gidsen over , , en .

Veel succes met scrapen—en moge je nieuwsfeeds altijd actueel, gestructureerd en een stap voor zijn op de concurrentie.

Geschreven door Shuai Guan, medeoprichter & CEO van Thunderbit. Ik heb jarenlange ervaring in SaaS, automatisering en AI, en vind het nog steeds geweldig om van chaos bruikbare data te maken. Vragen of scraping-ervaringen delen? Neem gerust contact op.

Veelgestelde Vragen

1. Waarom zouden bedrijven Google News scrapen met Python?

Door Google News te scrapen kunnen bedrijven automatisch nieuwsartikelen verzamelen die relevant zijn voor hun merk, concurrenten of branche. Zo kun je realtime PR-crises monitoren, concurrentiebewegingen volgen, salesinzichten verzamelen, markttrends analyseren en risico’s beheren. Handmatig nieuws volgen is traag en mist vaak belangrijke updates, terwijl scrapen zorgt voor een gestructureerde, actuele stroom van relevante koppen en verhalen.

2. Wat zijn de basisstappen om Google News te scrapen met Python?

Het proces bestaat uit:

  • Je Python-omgeving inrichten met libraries als requests, BeautifulSoup en pandas.
  • De Google News zoek-URL en parameters instellen (zoals zoekterm, taal en regio).
  • Een verzoek sturen om de resultatenpagina op te halen met de juiste headers (inclusief User-Agent).
  • De HTML parsen om details als titel, link, bron, tijd en snippet te extraheren.
  • De data opslaan in een CSV-bestand voor analyse.
  • Omgaan met ontbrekende data en resultaten dedupliceren voor een schone dataset.

3. Welke uitdagingen kun je tegenkomen bij het scrapen van Google News, en hoe los je die op?

Veelvoorkomende uitdagingen zijn:

  • CAPTCHAs of waarschuwingen voor “ongebruikelijk verkeer”: Vertraag je verzoeken, roteer User-Agents en gebruik indien nodig proxies.
  • Rate limiting (HTTP 429/503 fouten): Voeg vertragingen toe en vermijd parallel scrapen.
  • HTML-structuur verandert: Update regelmatig je selectors en gebruik try/except.
  • Ontbrekende of inconsistente data: Controleer altijd of een tag bestaat voordat je data uitleest.
  • Dubbele resultaten: Dedupliceer op URL of titel.
  • Encoding-problemen: Gebruik UTF-8 bij het opslaan van bestanden.
  • JavaScript-content: Gebruik voor geavanceerde gevallen tools als Selenium of Playwright.

4. Hoe maak ik mijn Google News scraping workflow herhaalbaar en analyse-klaar?

Voor reproduceerbare en schone data:

  • Gebruik de hl, gl en ceid URL-parameters voor taal en regio.
  • Filter resultaten op tijd, na het scrapen of via RSS-feeds.
  • Dedupliceer artikelen door URLs te normaliseren en titels te vergelijken.
  • Houd eerder gevonden artikelen bij om dubbeltellingen te voorkomen.
  • Sla je data veilig op en documenteer je scraping-proces voor toekomstige updates.

5. Moet ik zelf een Google News scraper bouwen of een externe API gebruiken?

Zelf bouwen geeft je volledige controle, flexibiliteit en is meestal gratis (behalve je tijd en eventuele proxykosten). Het vereist echter doorlopend onderhoud, is gevoeliger voor wijzigingen in Google’s HTML en het risico op blokkades is groter. Externe API’s zijn betrouwbaarder, makkelijker op te schalen en regelen anti-botmaatregelen voor je, maar kosten geld en geven minder controle over de data. Voor kleine projecten of om te leren is DIY ideaal; voor productie of grootschalig gebruik zijn API’s vaak de betere keuze.

Probeer AI-webscraper voor 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
Inhoudsopgave

Probeer Thunderbit

Leads en andere data verzamelen in slechts 2 klikken. Aangedreven door AI.

Thunderbit Downloaden Gratis proberen
Data Extracten met AI
Zet data eenvoudig over naar Google Sheets, Airtable of Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week