Scrapy Python Tutorial: Praktische Gids voor Webscraping

Laatst bijgewerkt op June 16, 2025

Laat me je meenemen naar het moment dat ik voor het eerst probeerde productinformatie van een webshop te plukken. Met Python in de aanslag, een bak koffie erbij en het plan om een prijsmonitor voor Amazon te bouwen, begon ik vol goede moed. Maar na een paar uur was mijn ‘snelle projectje’ veranderd in een doolhof van XPath-selectors, eindeloze paginering en meer debuggen dan me lief was. Als je ooit geprobeerd hebt om webdata te verzamelen met code, herken je het vast: je bent enthousiast, maar raakt ook gefrustreerd omdat het toch een stuk lastiger blijkt dan gedacht.

Het mooie is: webscraping is tegenwoordig niet meer alleen voor data scientists of programmeurs. Het is een onmisbare skill geworden voor sales, e-commerce managers, marketeers en eigenlijk iedereen die van online chaos bruikbare inzichten wil maken. De markt voor webscraping-software was in , en groeit nog steeds. Hoewel Python en frameworks als Scrapy de standaard zijn voor grootschalige, maatwerk scraping, zijn ze niet bepaald toegankelijk voor beginners. Daarom neem ik je in deze handleiding stap voor stap mee door Scrapy—met een praktijkvoorbeeld op Amazon—en laat ik je een veel eenvoudigere, AI-gedreven optie zien voor niet-programmeurs: .

Wat is Scrapy Python? Jouw Krachtige Webscraping-tool

Laten we bij het begin beginnen. Scrapy is een open-source Python framework, speciaal gemaakt voor webcrawling en scraping. Zie het als een complete gereedschapskist waarmee je je eigen spiders (zo noemt Scrapy zijn crawlers) bouwt die websites kunnen doorzoeken, links volgen, paginering regelen en gestructureerde data op grote schaal kunnen verzamelen.

Hoe verschilt Scrapy van Python’s requests en BeautifulSoup? Die bibliotheken zijn prima voor simpele, eenmalige scrapes, maar Scrapy is gemaakt voor grotere, complexe projecten—zoals:

  • Duizenden pagina’s crawlen (denk aan een hele productcatalogus)
  • Automatisch links volgen en paginering regelen
  • Data asynchroon verwerken voor snelheid
  • Data gestructureerd, opgeschoond en herhaalbaar exporteren

Kortom, Scrapy is het Zwitsers zakmes onder de webscrapers: krachtig, flexibel, maar voor beginners soms wat overweldigend.

Waarom Scrapy Python gebruiken voor Webscraping?

Waarom kiezen ontwikkelaars en datateams toch vaak voor Scrapy? Hier een kort overzicht van de voordelen:

Use CaseScrapy SterktesZakelijke Meerwaarde
PrijsmonitoringKan paginering, async requests, planning aanBlijf concurrenten voor, dynamische prijzen
Productcatalogus UitlezenVolgt links, haalt gestructureerde data opBouw productdatabases, voed analytics
ConcurrentieanalyseSchaalbaar, bestand tegen site-wijzigingenVolg trends, nieuwe producten, voorraad
MarktonderzoekModulaire pipelines voor opschonen/transformerenVerzamel reviews, sentimentanalyse

Scrapy’s asynchrone motor (gebaseerd op Twisted) maakt het mogelijk om meerdere pagina’s tegelijk op te halen, wat het snel en schaalbaar maakt. Dankzij het modulaire ontwerp kun je makkelijk eigen logica toevoegen (zoals proxies, user-agents of datacleaning). Met pipelines kun je data verwerken, valideren en exporteren zoals jij wilt—CSV, JSON, databases, noem maar op.

Voor teams met Python-kennis is Scrapy een echte krachtpatser. Maar eerlijk is eerlijk: voor de doorsnee zakelijke gebruiker is het niet bepaald plug-and-play.

Scrapy 1.jpeg

Je Scrapy Python-omgeving opzetten

Klaar om te beginnen? Zo installeer je Scrapy vanaf nul:

1. Installeer Scrapy

Zorg dat je Python 3.9+ hebt. Open je terminal en voer uit:

pip install scrapy

Check of het gelukt is met:

scrapy version

Werk je op Windows of met Anaconda? Dan is het slim om een virtuele omgeving te maken om gedoe te voorkomen. Scrapy draait op Windows, macOS en Linux.

2. Start een nieuw Scrapy-project

Maak een nieuw project aan, bijvoorbeeld amazonscraper:

scrapy startproject amazonscraper

Je krijgt dan deze mappenstructuur:

amazonscraper/
├── scrapy.cfg
├── amazonscraper/
│   ├── __init__.py
│   ├── items.py
│   ├── pipelines.py
│   ├── middlewares.py
│   ├── settings.py
│   └── spiders/

Wat doen deze bestanden?

  • scrapy.cfg: Projectconfiguratie (hier hoef je zelden aan te komen)
  • items.py: Hier definieer je je datamodellen (zoals een Product met naam, prijs, etc.)
  • pipelines.py: Hier kun je data opschonen, valideren en exporteren
  • middlewares.py: Geavanceerde zaken (proxies, custom headers)
  • settings.py: Pas hier Scrapy’s gedrag aan (concurrentie, vertragingen, etc.)
  • spiders/: Hier schrijf je de daadwerkelijke scraping-logica

Voelt het nu al wat overweldigend? Je bent niet de enige. Hier haken veel niet-programmeurs af.

Een Python Webscraper bouwen: Amazon Productdata Scrapen met Scrapy

Laten we een praktijkvoorbeeld doen: productdata scrapen uit de zoekresultaten van Amazon. (Let op: Amazon staat scraping niet toe en heeft stevige anti-botmaatregelen. Dit is puur ter illustratie!)

1. Maak een Spider aan

In de map spiders/ maak je een bestand amazon_spider.py aan:

import scrapy

class AmazonSpider(scrapy.Spider):
    name = "amazon_example"
    allowed_domains = ["amazon.com"]
    start_urls = ["https://www.amazon.com/s?k=smartphones"]

    def parse(self, response):
        products = response.xpath("//div[@data-component-type='s-search-result']")
        for product in products:
            yield {
                'name': product.xpath(".//span[@class='a-size-medium a-color-base a-text-normal']/text()").get(),
                'price': product.xpath(".//span[@class='a-price-whole']/text()").get(),
                'rating': product.xpath(".//span[@aria-label]/text()").get()
            }
        next_page = response.xpath("//li[@class='a-last']/a/@href").get()
        if next_page:
            yield scrapy.Request(url=response.urljoin(next_page), callback=self.parse)

Wat gebeurt hier?

  • We starten op een Amazon zoekresultaatpagina voor “smartphones”.
  • Voor elk product halen we naam, prijs en beoordeling op via XPath-selectors.
  • We zoeken de link naar de volgende pagina en laten Scrapy die volgen om meer producten te scrapen.

2. Draai je Spider

In de hoofdmap van je project voer je uit:

scrapy crawl amazon_example -o products.json

Voilà—Scrapy doorloopt de zoekresultaten, volgt de paginering en slaat je data op in een JSON-bestand.

Paginering en Dynamische Content Afhandelen

Scrapy kan standaard links volgen en paginering aan. Maar wat als een pagina data laadt via JavaScript? Scrapy ziet alleen de statische HTML. Wil je dynamische content scrapen (zoals infinite scroll of pop-up reviews), dan moet je tools als Selenium of Splash integreren. Dat is weer een vak apart.

Data Verwerken en Exporteren met Scrapy Python

Na het scrapen wil je je data waarschijnlijk opschonen en exporteren.

  • Pipelines: In pipelines.py kun je Python-klassen schrijven om data te schonen, valideren of verrijken (zoals prijzen omzetten naar getallen, incomplete rijen verwijderen of vertalingen ophalen via een API).
  • Exporteren: Scrapy kan direct exporteren naar CSV, JSON of XML met de o-vlag. Voor geavanceerdere exports (zoals naar Google Sheets) moet je extra code schrijven of externe libraries gebruiken.

Wil je sentimentanalyse of productomschrijvingen vertalen? Dan moet je externe API’s of Python-bibliotheken koppelen—dat zit er niet standaard in.

De Verborgen Kosten: Uitdagingen van Scrapy Python voor Zakelijke Gebruikers

Laten we eerlijk zijn: Scrapy is krachtig, maar niet bepaald gebruiksvriendelijk voor niet-ontwikkelaars. Hier lopen de meeste zakelijke gebruikers tegenaan:

  • Steile Leercurve: Je moet Python, HTML, XPath/CSS-selectors en de Scrapy-structuur begrijpen. Dat kost dagen of zelfs weken om onder de knie te krijgen.
  • Installatieproblemen: Python installeren, afhankelijkheden beheren en foutmeldingen oplossen kan lastig zijn—zeker op Windows.
  • Geen Visuele Interface: Alles gebeurt in code. Je kunt niet gewoon op een pagina klikken om data te selecteren.
  • Onderhoud: Als de website verandert, werkt je spider niet meer. Jij moet het oplossen.
  • Geen Ingebouwde AI: Wil je vertalen, samenvatten of sentiment analyseren? Dan moet je dat zelf programmeren.

Scrapy 2.jpeg

Hier een snelle vergelijking:

UitdagingScrapy (Python)Wensen Zakelijke Gebruiker
Programmeren NodigJaLiever geen code
InstallatietijdUren (of dagen)Minuten
OnderhoudDoorlopend (site verandert)Minimaal
Data ExportCSV/JSON (handmatige koppeling)Direct naar Excel/Sheets/Notion
AI-functiesGeen (zelf integreren)Ingebouwde vertaling/sentiment

Voor een marketeer, salesmedewerker of operations manager voelt Scrapy al snel als een kanon op een mug.

Maak kennis met Thunderbit: Het No-Code Alternatief voor Scrapy Python

Hier komt om de hoek kijken. Als iemand die jaren aan automatiseringstools heeft gebouwd, weet ik: de meeste zakelijke gebruikers willen niet programmeren—ze willen gewoon snel data.

Thunderbit is een AI-webscraper als Chrome-extensie. Speciaal voor niet-technische gebruikers die willen:

  • Data van elke website halen in een paar klikken
  • In gewone taal aangeven wat ze willen (“Productnaam, Prijs, Beoordeling”)
  • Paginering en subpagina’s automatisch laten afhandelen
  • Data direct exporteren naar Excel, Google Sheets, Airtable of Notion
  • Direct vertalen, samenvatten of sentiment analyseren

Geen Python. Geen selectors. Geen onderhoudszorgen.

Thunderbit is gemaakt voor zakelijke gebruikers die snel willen schakelen en het zware werk aan AI overlaten.

Thunderbit vs. Scrapy Python: Vergelijking

Laten we ze naast elkaar zetten:

AspectScrapy (Python)Thunderbit (AI Tool)
Vaardigheid NodigPython, HTML, selectorsGeen—wijzen en klikken, gewone taal
InstallatietijdUren (installeren, coderen, debuggen)Minuten (Chrome-extensie installeren, inloggen)
Data StructurerenHandmatig (items, pipelines)AI herkent kolommen, doet suggesties
Paginering/Subpagina’sCode vereist1 klik (AI regelt het)
VertalingEigen code of API nodigIngebouwd—zet “Vertalen” aan
SentimentanalyseExterne library/APIIngebouwd—voeg “Sentiment” toe
ExportoptiesCSV/JSON (handmatig importeren)1 klik naar Excel, Google Sheets, Airtable, Notion
OnderhoudHandmatig (code aanpassen bij sitewijziging)AI past zich automatisch aan kleine wijzigingen aan
SchaalBeste voor grote, doorlopende projectenIdeaal voor snelle taken, honderden/duizenden rijen
KostenGratis (maar kost tijd/ontwikkelaars)Gratis tier + betaalde plannen (vanaf $9/maand, bespaart veel tijd en gedoe)

Wanneer kies je Scrapy Python of Thunderbit voor Webscraping?

Mijn vuistregel:

  • Gebruik Scrapy als:
    • Je een ontwikkelaar bent of er een in je team hebt
    • Je tienduizenden pagina’s wilt scrapen of een doorlopende pipeline bouwt
    • De site erg complex is of geavanceerde logica vereist
    • Je volledige controle wilt (en onderhoud niet erg vindt)
  • Gebruik Thunderbit als:
    • Je niet programmeert (of dat niet wilt)
    • Je snel data nodig hebt voor eenmalige of terugkerende taken
    • Je ingebouwde vertaling, sentiment of data verrijking wilt
    • Je snelheid en flexibiliteit belangrijker vindt dan maatwerk

Scrapy 3.jpeg

Hier een simpel beslisschema:

  1. Kun je Python programmeren?
    • Ja → Scrapy of Thunderbit (voor snelle resultaten)
    • Nee → Thunderbit
  2. Is je project groot en doorlopend?
    • Ja → Scrapy
    • Nee → Thunderbit
  3. Heb je vertaling of sentimentanalyse nodig?
    • Ja → Thunderbit
    • Nee → Beide mogelijk

Stapsgewijs: Amazon Productdata Scrapen met Thunderbit (Zonder Code)

Laten we het Amazon-voorbeeld opnieuw doen—maar nu op de makkelijke manier.

1. Installeer Thunderbit

  • Maak een account aan (gratis tier beschikbaar)

2. Ga naar Amazon en zoek je product

  • Open en zoek bijvoorbeeld op “laptops” (of een ander product)

3. Start Thunderbit op de pagina

  • Klik op het Thunderbit-icoon in je browser
  • Het zijpaneel opent en herkent de Amazon-pagina

4. Gebruik AI Suggest Fields

  • Klik op “AI Suggest Fields”
  • Thunderbit’s AI scant de pagina en stelt kolommen voor zoals “Productnaam”, “Prijs”, “Beoordeling”, “Aantal reviews”
  • Voeg kolommen toe of verwijder ze (wil je “Product URL” of “Prime-status”? Typ het in)

5. Zet paginering en subpagina-scraping aan

  • Zet Paginering aan: Thunderbit klikt automatisch op “Volgende” en haalt alle pagina’s op
  • Zet Subpagina-scraping aan: Thunderbit bezoekt elke productpagina voor extra info (zoals beschrijvingen of ASIN-nummers)

6. Start de scrape

  • Klik op Scrapen
  • Zie hoe Thunderbit live data verzamelt, pagina voor pagina

7. Vertalen en sentimentanalyse (optioneel)

  • Wil je productomschrijvingen vertalen? Zet “Vertalen” aan voor die kolom
  • Wil je sentimentanalyse op reviews? Voeg een “Sentiment”-kolom toe—Thunderbit vult het automatisch in

8. Exporteer je data

  • Klik op Exporteren
  • Kies Excel, Google Sheets, Airtable of Notion
  • Je data is direct bruikbaar—geen handmatig importeren of CSV-gedoe

9. Plan terugkerende scrapes (optioneel)

  • Stel een schema in (bijvoorbeeld dagelijks om 8:00)
  • Thunderbit voert de scrape automatisch uit en werkt je bestemming bij

Dat is alles. Geen code, geen selectors, geen onderhoud. Gewoon direct bruikbare data.

Bonus: Meer halen uit je Webscraping-projecten

Of je nu Scrapy, Thunderbit of een ander hulpmiddel gebruikt, hier wat tips uit de praktijk:

  • Check je data: Controleer altijd op ontbrekende of vreemde waarden (zoals $0 prijzen of lege namen)
  • Blijf binnen de regels: Check de gebruiksvoorwaarden van de site, respecteer robots.txt en overbelast servers niet
  • Automatiseer slim: Gebruik planningen om data actueel te houden, maar scrape niet vaker dan nodig
  • Gebruik gratis tools: Thunderbit biedt gratis e-mail-, telefoon- en afbeeldingextractors—ideaal voor leadgeneratie of contentcuratie
  • Organiseer voor analyse: Exporteer direct naar Sheets/Excel zodat je snel kunt filteren, draaien en visualiseren

Meer tips? Bekijk of hun .

Voor meer tips, check of hun .

Conclusie: Webscraping Eenvoudig Gemaakt—Kies het Juiste Hulpmiddel voor Jouw Team

Kort samengevat: Scrapy is een krachtig hulpmiddel voor ontwikkelaars, maar voor de meeste zakelijke gebruikers te complex. Ben je handig met Python en wil je een maatwerk, grootschalige scraper bouwen? Dan is Scrapy een goede keuze. Maar wil je snel aan de slag, zonder code, en direct data (inclusief vertaling en sentimentanalyse) ophalen? Dan is de beste optie.

Ik heb zelf gezien hoeveel tijd en frustratie Thunderbit bespaart voor niet-technische teams. Je gaat van “ik wou dat ik deze data had” naar “het staat in mijn spreadsheet” in minuten—niet uren of dagen. Met functies als AI Suggest Fields, subpagina-scraping en one-click export is het nog nooit zo makkelijk geweest om van webdata naar bruikbare inzichten te gaan.

Dus, de volgende keer dat je productdata wilt scrapen, prijzen wilt monitoren of een leadlijst wilt bouwen, vraag jezelf af: wil je Python schrijven, of wil je gewoon resultaat? Probeer de gratis versie van Thunderbit en ontdek hoe eenvoudig webscraping kan zijn.

Meer weten? Bezoek , , of duik dieper in webscraping op de .

Verder lezen:

Let op: Zorg altijd dat je webscraping-activiteiten voldoen aan de voorwaarden van de website en de lokale wetgeving. Twijfel je? Raadpleeg een jurist—niemand zit te wachten op een boze brief vanwege een spreadsheet.

Geschreven door Shuai Guan, medeoprichter & CEO van Thunderbit. Ik heb jarenlange ervaring in SaaS, automatisering en AI—zodat jij dat niet hoeft te hebben.

Probeer AI-webscraper
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
Scrapy PythonPython WebscraperScrapy Handleiding
Probeer Thunderbit
Gebruik AI om moeiteloos webpagina’s te scrapen.
Gratis versie beschikbaar
Ondersteuning voor Nederlands
Inhoudsopgave
Data Extracten met AI
Zet data eenvoudig over naar Google Sheets, Airtable of Notion
Chrome Store Rating
PRODUCT HUNT#1 Product of the Week