Wat ga je bouwen?
Een n8n workflow die automatisch een lijst van URLs bezoekt, de relevante content extraheert, en via de OpenAI API omzet naar een gestructureerd JSON-object dat je kunt opslaan in Google Sheets of een database.
Stap 1: Schedule Trigger instellen
Begin met een Schedule Trigger node die de workflow dagelijks of wekelijks start. Voor de scraper stel je in: elke dag om 08:00.
{
"rule": {
"interval": [{"field": "cronExpression", "expression": "0 8 * * *"}]
}
}
Stap 2: URL-lijst ophalen
Gebruik een Google Sheets node (of een Set node met hardcoded URLs) om de te scrapen URLs op te halen. Sla je URL-lijst op in een Google Sheet met kolommen: url, naam, categorie.
Stap 3: HTTP Request - pagina ophalen
Voeg een HTTP Request node toe. Stel in: Method GET, URL uit de vorige stap. Voeg een User-Agent header toe om geblokkeerd worden te voorkomen.
{
"method": "GET",
"url": "{{$json.url}}",
"headers": {
"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"
}
}
Let op
Scraping moet altijd in overeenstemming zijn met de robots.txt van de website en de gebruiksvoorwaarden. Gebruik een vertraging tussen requests (Split In Batches + Wait node) om servers niet te overbelasten.
Stap 4: HTML extraheren met Cheerio
Gebruik de HTML Extract node om relevante content uit de HTML te halen. Stel de CSS-selector in op het element dat je wilt extraheren, bijv. "article h1, article p" voor artikeltekst.
Stap 5: AI-structurering via OpenAI
Voeg een OpenAI Chat Model node toe. Geef de geextraheerde tekst mee als input en vraag de AI om het te structureren als JSON.
{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "Je bent een data-extractie assistent. Extraheer de gevraagde informatie als JSON."
},
{
"role": "user",
"content": "Extraheer uit deze tekst: productnaam, prijs, beschrijving, beschikbaarheid.\n\nTekst: {{$json.extractedText}}"
}
]
}
Stap 6: Resultaten opslaan
Parse de JSON-output van OpenAI met een Code node en sla het op in Google Sheets via de Sheets node. Voeg een timestamp en de bron-URL toe voor traceerbaarheid.
Verwachte kosten
OpenAI gpt-4o-mini kost $0.15 per 1M input tokens en $0.60 per 1M output tokens. Voor een typische webpagina van 2000 woorden kost de AI-structurering circa $0.001 per pagina.
Optimalisatie
Gebruik een IF node om paginas die niet zijn gewijzigd since de laatste scrape over te slaan. Sla een hash van de inhoud op in je database en vergelijk bij elke run.