For et par måneder siden sendte en af vores brugere et screenshot af et n8n-workflow med 14 noder, et halvt dusin sticky notes og en emnelinje, der bare lød: "Hjælp." De havde fulgt en populær n8n web scraping-guide, fået en flot 10-rækkers demo til at virke på en testside og prøvede derefter at hente rigtige konkurrentpriser fra 200 produktsider. Resultatet? En ødelagt pagineringsløkke, en mur af 403-fejl og en stille scheduler, der stoppede med at køre efter den første tirsdag.
Det hul — mellem demoen og den virkelige pipeline — er dér, de fleste n8n scraping-projekter ender med at dø. Jeg har i årevis bygget og arbejdet med automation, og jeg kan sige det sådan her: selve scraping-delen er sjældent det svære. Det er alt efter den første vellykkede scraping, der vælter folk. Pagination, planlægning, anti-bot-håndtering, datarensning, eksport og — den helt store — vedligeholdelse, når sitet ændrer layout for tredje gang i dette kvartal. Denne guide dækker hele flowet, fra din første HTTP Request-node til et tilbagevendende, produktionsklart n8n web scraping-workflow. Og når n8n’s gør-det-selv-tilgang rammer en mur, viser jeg dig, hvor AI-drevne værktøjer som Thunderbit kan spare dig for timer (eller dage) med frustration.
Hvad er n8n Web Scraping egentlig? (Og hvorfor de fleste guides kun kradser i overfladen)
n8n er en open source-workflowplatform med low-code til automation. Tænk på det som et visuelt lærred, hvor du forbinder "noder" — hver node klarer en specifik opgave (hent en webside, parse HTML, send en Slack-besked, skriv til Google Sheets) — og kæder dem sammen til automatiserede workflows. Du behøver ikke tung kodning, selv om du kan smide JavaScript ind, når det er nødvendigt.
"n8n web scraping" betyder at bruge n8n’s indbyggede HTTP Request- og HTML-noder (plus community-noder) til at hente, parse og behandle webdata inde i disse automatiserede workflows. Kernen består af to trin: Hent (HTTP Request-noden henter rå HTML fra en URL) og Parse (HTML-noden bruger CSS-selektorer til at udtrække de datapunkter, du vil have — produktnavne, priser, emails, hvad som helst).
Platformen er enorm: pr. april 2026 har n8n omkring , over 230.000 aktive brugere, 9.166+ community-workflowskabeloner og udgiver en ny mindre version cirka hver uge. I marts 2025 rejste de . Der er masser af momentum her.
Men der er et hul, som ingen rigtigt taler om. Den mest populære n8n scraping-guide på dev.to (af Lakshay Nasa, udgivet under "Extract by Zyte") lovede pagination i "Del 2." Del 2 kom faktisk — og forfatterens egen vurdering var: "N8N giver os en standard Pagination Mode inde i HTTP Request-noden under Options, og selv om det lyder bekvemt, fungerede det ikke stabilt i min erfaring til typiske web scraping-use cases." Forfatteren endte med at route pagination gennem en betalt tredjeparts-API. Samtidig bliver n8n-forumbrugere ved med at pege på "pagination, throttling, login" som det punkt, hvor n8n scraping "bliver komplekst hurtigt." Denne guide er bygget til at udfylde det hul.
Hvorfor n8n Web Scraping er vigtigt for salgs-, drifts- og ecommerce-teams
n8n web scraping er ikke en udviklerhobby. Det er et forretningsværktøj. Det ligger på cirka $1–1,3 mia. i 2025 og forventes at nå $2–2,3 mia. i 2030. Alene dynamisk prissætning bruges af omkring , og er nu afhængige af alternative data — meget af det hentet fra nettet. McKinsey rapporterer, at dynamisk prissætning giver for dem, der bruger det.
Det er her, n8n’s reelle styrke viser sig: det handler ikke kun om at få data ind. Det handler om, hvad der sker bagefter. n8n lader dig kæde scraping sammen med efterfølgende handlinger — CRM-opdateringer, Slack-advarsler, spreadsheet-eksport, AI-analyse — i ét samlet workflow.
| Use Case | Hvem får gavn af det | Hvad du scraper | Forretningsresultat |
|---|---|---|---|
| Leadgenerering | Salgsteams | Virksomhedskataloger, kontaktsider | Fyld CRM’et med kvalificerede leads |
| Overvågning af konkurrentpriser | Ecommerce-drift | Produktsider | Justér priser i realtid |
| Sporing af boliglister | Ejendomsmæglere | Zillow, Realtor, lokale MLS-sider | Opdag nye boliger før konkurrenterne |
| Markedsresearch | Marketingteams | Anmeldelsessider, fora, nyheder | Identificér trends og kundesentiment |
| Overvågning af leverandør-/SKU-lager | Supply chain-drift | Leverandørers produktsider | Undgå udsolgte varer og optimér indkøb |
Tallene viser, at ROI er reel: planlægger at øge AI-investeringer i 2025, og automatiseret lead nurturing har vist sig at på ni måneder. Hvis dit team stadig kopierer data fra websites over i regneark, lader I penge ligge på bordet.
Dit n8n Web Scraping-værktøjssæt: Kernernode og tilgængelige løsninger
Før du bygger noget som helst, skal du vide, hvad der er i værktøjskassen. Her er de vigtigste n8n-noder til web scraping:
- HTTP Request-node: Henter rå HTML fra enhver URL. Fungerer som en browser, der laver en sideforespørgsel, men returnerer koden i stedet for at rendere siden. Understøtter GET/POST, headers, batching og teoretisk indbygget pagination.
- HTML-node (tidligere "HTML Extract"): Parser HTML ved hjælp af CSS-selektorer og trækker bestemte data ud — titler, priser, links, billeder, hvad du har brug for.
- Code-node: Giver dig mulighed for at skrive JavaScript til datarensning, URL-normalisering, deduplikering og speciallogik.
- Edit Fields (Set)-node: Omstrukturerer eller omdøber datafelter til downstream-noder.
- Split Out-node: Deler arrays op i individuelle items til behandling.
- Convert to File-node: Eksporterer strukturerede data til CSV, JSON osv.
- Loop Over Items-node: Itererer gennem lister (afgørende for pagination — mere om det nedenfor).
- Schedule Trigger: Starter dit workflow efter en cron-plan.
- Error Trigger: Alarmerer dig, når et workflow fejler (vigtigt i produktion).
Til avanceret scraping — sites med JavaScript-rendering eller tung anti-bot-beskyttelse — skal du bruge community-noder:
| Tilgang | Bedst til | Færdighedsniveau | Kan håndtere JS-renderede sites | Anti-bot-håndtering |
|---|---|---|---|---|
| n8n HTTP Request + HTML-noder | Statiske sites, API’er | Begynder–mellem | Nej | Manuel (headers, proxies) |
| n8n + ScrapeNinja/Firecrawl community-node | Dynamiske/beskyttede sites | Mellem | Ja | Indbygget (proxy-rotation, CAPTCHA) |
| n8n + Headless Browser (Puppeteer) | Komplekse JS-interaktioner | Avanceret | Ja | Delvist (afhænger af opsætning) |
| Thunderbit (AI Web Scraper) | Alle sites, ikke-tekniske brugere | Begynder | Ja (Browser- eller Cloud-tilstand) | Indbygget (arver browsersession eller cloud-håndtering) |
Der findes ingen indbygget headless-browser-node i n8n pr. v2.15.1. Enhver scrape af JS-renderede sider kræver enten en community-node eller en ekstern API.
Et hurtigt ord om Thunderbit: det er en AI-drevet , som vores team har bygget. Du klikker på "AI Suggest Fields", derefter "Scrape", og får strukturerede data — ingen CSS-selektorer, ingen node-konfiguration, ingen vedligeholdelse. Jeg viser undervejs, hvor det passer ind (og hvor n8n er det bedre valg).
Trin for trin: Byg dit første n8n Web Scraping-workflow
Nu hvor værktøjskassen er på plads, viser jeg dig, hvordan du bygger en fungerende n8n web scraper fra bunden. Jeg bruger en produktside som eksempel — den type, du faktisk ville scrape til prisovervågning eller konkurrentresearch.
Før du starter:
- Sværhedsgrad: Begynder–mellem
- Tidsforbrug: Ca. 20–30 minutter
- Det skal du bruge: n8n (self-hosted eller Cloud), en mål-URL, Chrome-browser (til at finde CSS-selektorer)
Trin 1: Opret et nyt workflow og tilføj en manuel trigger
Åbn n8n, klik på "New Workflow", og giv det et beskrivende navn — fx "Konkurrentprisscraper." Træk en Manual Trigger-node ind. (Vi opgraderer til en planlagt trigger senere.)
Du bør nu se en enkelt node på lærredet, klar til at køre, når du klikker "Test Workflow."
Trin 2: Hent siden med HTTP Request-noden
Tilføj en HTTP Request-node og forbind den til Manual Trigger. Sæt metoden til GET, og indsæt din mål-URL (fx https://example.com/products).
Nu kommer det vigtige trin, som de fleste tutorials springer over: tilføj en realistisk User-Agent-header. Som standard sender n8n axios/xx som user agent — og det er tydeligt et bot-signatur. Under "Headers" skal du tilføje:
| Header-navn | Værdi |
|---|---|
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Accept | text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 |
Hvis du scraper flere URL’er, så slå Batching til (under Options) og sæt en ventetid på 1–3 sekunder mellem forespørgsler. Det hjælper med at undgå rate limits.
Kør noden. Du bør se rå HTML i output-panelet.
Trin 3: Parse data med HTML-noden
Forbind en HTML-node til HTTP Request-outputtet. Sæt operationen til Extract HTML Content.
For at finde de rigtige CSS-selektorer skal du åbne din målside i Chrome, højreklikke på det datafelt, du vil have fat i (fx en produkttitel), og vælge "Inspect." I Elements-panelet skal du højreklikke på det fremhævede HTML-element og vælge "Copy → Copy selector."
Konfigurér dine ekstraktionsfelter sådan her:
| Nøgle | CSS-selektor | Returværdi |
|---|---|---|
| product_name | .product-title | Tekst |
| price | .price-current | Tekst |
| url | .product-link | Attribut: href |
Kør noden. Du bør nu se en tabel med strukturerede data — produktnavne, priser og URL’er — i outputtet.
Trin 4: Rens og normalisér med Code-noden
Rå scraped data er sjældent pæne. Priser har ofte ekstra mellemrum, URL’er kan være relative, og tekstfelter har linjeskift i halen. Tilføj en Code-node og forbind den til HTML-noden.
Her er et simpelt JavaScript-snippet til at rydde op:
1return items.map(item => {
2 const d = item.json;
3 return {
4 json: {
5 product_name: (d.product_name || '').trim(),
6 price: parseFloat((d.price || '').replace(/[^0-9.]/g, '')),
7 url: d.url && d.url.startsWith('http') ? d.url : `https://example.com${d.url}`
8 }
9 };
10});
Det her trin er afgørende for data af produktionskvalitet. Spring det over, og dit regneark vil være fyldt med "$ 29.99\n"-poster.
Trin 5: Eksportér til Google Sheets, Airtable eller CSV
Forbind en Google Sheets-node (eller Airtable, eller Convert to File for CSV). Autentificér med din Google-konto, vælg dit regneark og ark, og map felterne fra Code-node-outputtet til kolonneoverskrifterne.
Kør hele workflowet. Du bør nu se rene, strukturerede data lande i dit regneark.
Lille note: til Google Sheets, Airtable, Notion og Excel uden nogen node-opsætning. Hvis du ikke har brug for hele workflow-kæden og bare vil have dataene, er det en nyttig genvej.
Det trin, som hver n8n Web Scraping-guide springer over: komplette pagination-workflows
Pagination er det største hul i n8n scraping-indhold — og den største kilde til frustration i n8n-fællesskabets fora.
Der er to primære pagination-mønstre:
- Klikbaseret / URL-inkrementerende pagination — sider som
?page=1,?page=2osv. - Infinite scroll — indholdet loader, mens du scroller ned (tænk Twitter, Instagram eller mange moderne produktkataloger).
Klikbaseret pagination i n8n (URL-inkrementering med loop-noder)
Den indbyggede Pagination-mulighed i HTTP Request-nodeens Options-menu lyder bekvem. I praksis er den ustabil. Den mest populære n8n scraping-guide-forfatter (Lakshay Nasa) prøvede den og skrev: "it didn't behave reliably in my experience." Forumbrugere rapporterer, at den , og ikke kan finde den sidste side.

Den pålidelige metode: byg URL-listen eksplicit i en Code-node, og iterér derefter med Loop Over Items.
Sådan gør du:
- Tilføj en Code-node der genererer dine side-URL’er:
1const base = 'https://example.com/products';
2const totalPages = 10; // eller find dynamisk
3return Array.from({length: totalPages}, (_, i) => ({
4 json: { url: `${base}?page=${i + 1}` }
5}));
- Forbind en Loop Over Items-node til at iterere gennem listen.
- Inde i løkken tilføjer du din HTTP Request-node (sæt URL til
{{ $json.url }}), derefter HTML-noden til parsing. - Tilføj en Wait-node (1–3 sekunder, tilfældigt) inde i løkken for at undgå 429 rate limits.
- Efter løkken samler du resultaterne og eksporterer til Google Sheets eller CSV.
Hele kæden: Code (byg URL’er) → Loop Over Items → HTTP Request → HTML → Wait → (tilbage i løkken) → Aggregate → Export.
Et vigtigt forbehold: Loop Over Items-noden har en hvor nested loops stille springer items over. Hvis du paginerer og beriger undersider, så test grundigt — "done"-antallet matcher måske ikke dit input.
Pagination med infinite scroll: hvorfor n8n’s indbyggede noder kæmper
Sider med infinite scroll loader indhold via JavaScript, mens du scroller. HTTP Request-noden henter kun den indledende HTML — den kan ikke køre JavaScript eller trigge scroll-events. Du har to muligheder:
- Brug en headless-browser community-node (fx eller ) til at rendere siden og simulere scrolling.
- Brug en scraping-API (ScrapeNinja, Firecrawl, ZenRows) med JS-rendering slået til.
Begge dele tilføjer markant kompleksitet. Du ser på 30–60+ minutters opsætning per site, plus løbende vedligeholdelse.
Sådan håndterer Thunderbit pagination uden konfiguration
Jeg er farvet, men kontrasten er tydelig:
| Funktion | n8n (DIY-workflow) | Thunderbit |
|---|---|---|
| Klikbaseret pagination | Manuel opsætning af loop-node, URL-inkrementering | Automatisk — registrerer og følger pagination |
| Sider med infinite scroll | Kræver headless browser + community-node | Indbygget support, ingen konfiguration nødvendig |
| Opsætningstid | 30–60 min per site | 2 klik |
| Sider pr. batch | Sekventielt (én ad gangen) | 50 sider samtidig (Cloud Scraping) |
Hvis du scraper 200 produktsider på tværs af 10 paginerede lister, tager n8n dig en hel eftermiddag. Thunderbit tager cirka to minutter. Det er ikke en kritik af n8n — det er bare det rigtige værktøj til den rigtige opgave.
Sæt det op én gang og glem det: Cron-styrede n8n Web Scraping-pipelines
Enkeltstående scraping er nyttigt, men den virkelige styrke ved n8n web scraping er tilbagevendende, automatiseret dataindsamling. Overraskende nok dækker næsten ingen n8n scraping-guides Schedule Trigger til scraping — selv om det er en af de mest efterspurgte funktioner i fællesskabet.
Byg en daglig pipeline til prisovervågning
Erstat din Manual Trigger med en Schedule Trigger-node. Du kan bruge n8n’s UI ("Every day at 8:00 AM") eller et cron-udtryk (0 8 * * *).
Den fulde workflow-kæde:
- Schedule Trigger (dagligt kl. 8)
- Code-node (generer paginerede URL’er)
- Loop Over Items → HTTP Request → HTML → Wait (scrape alle sider)
- Code-node (rens data, normalisér priser)
- Google Sheets (tilføj nye rækker)
- IF-node (er nogen priser faldet under tærsklen?)
- Slack (send advarsel, hvis ja)
Opret et Error Trigger-workflow ved siden af, som kører ved enhver fejl og pinger Slack. Ellers opdager du først problemet tre uger senere, når rapporten er tom, fordi selectors er brudt (og det kommer de til).
To ikke helt åbenlyse krav:
- n8n skal køre 24/7. En self-host på en laptop sender ikke, når låget er lukket. Brug en server, Docker eller n8n Cloud.
- Efter hver ændring i workflowet skal du slå workflowet fra og til igen. n8n Cloud har et hvor schedulere stille afregistreres efter redigeringer, uden fejlbesked.
Byg en ugentlig pipeline til lead-udtræk
Samme mønster, andet mål: Schedule Trigger (hver mandag kl. 9) → HTTP Request (virksomhedskatalog) → HTML (udtræk navn, telefon, email) → Code (deduplikér, rens formatering) → Airtable eller HubSpot push.

Vedligeholdelsesbyrden er den undervurderede omkostning her. Hvis katalogsitet ændrer layout, bryder dine CSS-selektorer, og workflowet fejler uden lyd. HasData vurderer, at af den oprindelige byggetid bør afsættes til løbende vedligeholdelse pr. år i enhver selector-baseret pipeline. Når du vedligeholder omkring 20 sites, er overheaden reel.
Thunderbit’s Scheduled Scraper: det no-code alternativ
Thunderbit’s Scheduled Scraper lader dig beskrive intervallet i almindeligt sprog (fx "hver mandag kl. 9"), indtaste dine URL’er og klikke "Schedule." Det kører i skyen — ingen hosting, ingen cron-udtryk, ingen stille afregistreringer.
| Dimension | n8n Scheduled Workflow | Thunderbit Scheduled Scraper |
|---|---|---|
| Opsætning af plan | Cron-udtryk eller n8n schedule-UI | Beskriv det med almindeligt sprog |
| Datarensning | Manuel Code-node kræves | AI renser/labeler/oversætter automatisk |
| Eksportdestinationer | Kræver integrationsnoder | Google Sheets, Airtable, Notion, Excel (gratis) |
| Hostingkrav | Self-hosted eller n8n Cloud | Ingen — kører i skyen |
| Vedligeholdelse ved siteændringer | Selectors går i stykker, manuel rettelse nødvendig | AI læser sitet frisk hver gang |
Den sidste række er den vigtigste. Forumbrugere siger det ligeud: "de fleste fungerer fint, indtil et site ændrer layout." Thunderbit’s AI-baserede tilgang fjerner det problem, fordi den ikke er afhængig af faste CSS-selektorer.
Når din n8n Web Scraper bliver blokeret: en guide til anti-bot-fejlfinding
At blive blokeret er den største frustration efter pagination. Standardrådet — "tilføj en User-Agent-header" — er omtrent lige så nyttigt som at sætte lås på en skærmdør i en orkan.
Ifølge Imperva 2025 Bad Bot Report udgør , og af den er ondsindet. Anti-bot-leverandører (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) har svaret igen med TLS-fingerprinting, JavaScript-udfordringer og adfærdsanalyse. n8n’s HTTP Request-node, som bruger Axios-biblioteket under motorhjelmen, producerer et karakteristisk, letgenkendeligt TLS-fingerprint, der ikke ligner en browser. At ændre User-Agent-headeren hjælper ikke — afslører dig, før nogen HTTP-header overhovedet bliver læst.
Anti-bot-beslutningstræet
Her er en systematisk fejlfinding — ikke bare "tilføj en User-Agent":
Bliver forespørgslen blokeret?
- 403 Forbidden → Tilføj User-Agent + Accept-headere (se Trin 2 ovenfor) → Stadig blokeret?
- Ja → Tilføj rotation af residential proxies → Stadig blokeret?
- Ja → Skift til en scraping-API (ScrapeNinja, Firecrawl, ZenRows) eller en headless-browser community-node
- Nej → Fortsæt
- Nej → Fortsæt
- Ja → Tilføj rotation af residential proxies → Stadig blokeret?
- CAPTCHA vises → Brug en scraping-API med indbygget CAPTCHA-løsning (fx )
- Tomt svar (JS-renderet indhold) → Brug en headless-browser community-node eller en scraping-API med JS-rendering
- Rate limited (429-fejl) → Slå batching til i HTTP Request-noden, sæt ventetid til 2–5 sekunder mellem batches, og sænk concurrency
Et andet problem: n8n har en hvor HTTP Request-noden ikke korrekt kan tunnelere HTTPS gennem en HTTP-proxy. Axios-biblioteket fejler på TLS-handshaket, selv om curl i den samme container virker fint. Hvis du bruger proxy og får mystiske forbindelsesfejl, er det sandsynligvis derfor.
Hvorfor Thunderbit undgår de fleste anti-bot-problemer
Thunderbit tilbyder to scraping-tilstande:
- Browser Scraping: Kører inde i din faktiske Chrome-browser og arver dine session cookies, login-status og browserfingeraftryk. Det omgår de fleste anti-bot-foranstaltninger, der blokerer server-side forespørgsler — fordi forespørgslen er en rigtig browser.
- Cloud Scraping: Til offentligt tilgængelige sites håndterer Thunderbit’s cloud anti-bot i stor skala — .
Hvis du bruger mere tid på at slås med Cloudflare end på at analysere data, er det her det praktiske alternativ.
Ærligt vurderet: Hvornår fungerer n8n Web Scraping — og hvornår bør du bruge noget andet?
n8n er en stærk platform. Men den er ikke det rigtige værktøj til alle scraping-opgaver, og ingen konkurrentartikel er ærlig om det. Brugere spørger bogstaveligt talt i fora: "hvor svært er det at lave en web scraper med n8n?" og "hvilket scraping-værktøj fungerer bedst med n8n?"
Hvor n8n Web Scraping er bedst
- Flertrins-workflows der kombinerer scraping med downstream-behandling — CRM-opdateringer, Slack-advarsler, AI-analyse, database-skrivning. Det er n8n’s kernekompetence.
- Scenarier hvor scraping bare er én node i en større automationskæde — scrape → berig → filtrér → push til CRM.
- Teknisk kyndige brugere der er trygge ved CSS-selektorer og node-baseret logik.
- Situationer med behov for custom datatransformation mellem scraping og lagring.
Hvor n8n Web Scraping bliver besværligt
- Ikke-tekniske brugere der bare har brug for data hurtigt. Node-opsætning, CSS-selector-jagt og debug-loop er en høj tærskel for forretningsbrugere.
- Sites med tung anti-bot-beskyttelse. Proxy- og API-add-ons øger både pris og kompleksitet.
- Vedligeholdelse når site-layout ændrer sig. CSS-selektorer går i stykker, workflows fejler uden besked.
- Bulk scraping på tværs af mange forskellige sidetyper. Hvert site kræver sin egen selector-konfiguration.
- Berigelse af undersider. Kræver separate under-workflows i n8n.
Side om side: n8n vs. Thunderbit vs. Python-scripts
| Faktor | n8n DIY Scraping | Thunderbit | Python Script |
|---|---|---|---|
| Nødvendigt teknisk niveau | Mellem (noder + CSS-selektorer) | Intet (AI foreslår felter) | Højt (kodning) |
| Opsætningstid pr. nyt site | 30–90 min | Ca. 2 minutter | 1–4 timer |
| Anti-bot-håndtering | Manuel (headers, proxies, APIs) | Indbygget (browser/cloud-tilstande) | Manuel (biblioteker) |
| Vedligeholdelse når site ændrer sig | Manuelle selector-opdateringer | Ingen — AI tilpasser sig automatisk | Manuelle kodeopdateringer |
| Støtte til flertrins-workflows | Fremragende (kernekompetence) | Eksport til Sheets/Airtable/Notion | Kræver custom kode |
| Pris i stor skala | n8n-hosting + proxy/API-omkostninger | Kreditsystem (ca. 1 kredit pr. række) | Server + proxy-omkostninger |
| Berigelse af undersider | Manuel — byg separat under-workflow | 1-klik scraping af undersider | Custom scripting |
Konklusionen: brug n8n, når scraping er en del af en kompleks, flertrins automationskæde. Brug Thunderbit, når du har brug for data hurtigt uden at bygge workflows. Brug Python, når du vil have maksimal kontrol og har udviklerressourcer. De konkurrerer ikke — de supplerer hinanden.

Virkelige n8n Web Scraping-workflows, du faktisk kan kopiere
Forumbrugere bliver ved med at spørge: "Er der nogen, der har kædet disse sammen til flertrins-workflows?" Her er tre konkrete workflows — rigtige nodesekvenser, du kan bygge i dag.
Workflow 1: Prisovervågning af konkurrenter i ecommerce
Mål: Spor konkurrentpriser dagligt og få en alarm, når de falder.
Nodekæde: Schedule Trigger (dagligt kl. 8) → Code (generér paginerede URL’er) → Loop Over Items → HTTP Request → HTML (udtræk produktnavn, pris, tilgængelighed) → Wait (2 sek.) → (tilbage i løkken) → Code (rens data, normalisér priser) → Google Sheets (tilføj rækker) → IF (pris under tærskel?) → Slack (send alarm)
Kompleksitet: 8–10 noder, 30–60 minutters opsætning pr. konkurrentsite.
Thunderbit-genvej: Thunderbit’s Scheduled Scraper + kan opnå tilsvarende resultater på få minutter, med gratis eksport til Google Sheets.
Workflow 2: Pipeline til leadgenerering
Mål: Scrape et virksomhedskatalog ugentligt, rens og kategorisér leads, og skub dem til CRM.
Nodekæde: Schedule Trigger (ugentligt, mandag kl. 9) → HTTP Request (katalogside) → HTML (udtræk navn, telefon, email, adresse) → Code (deduplikér, rens formatering) → OpenAI/Gemini-node (kategorisér efter branche) → HubSpot-node (opret kontakter)
Bemærk: n8n har en indbygget — nyttig til CRM-push. Men scraping- og rensetrinnene kræver stadig manuelt CSS-selectorarbejde.
Thunderbit-genvej: Thunderbit’s gratis og Phone Number Extractor kan hente kontaktoplysninger med 1 klik uden at bygge et workflow. Dets AI-labeling kan kategorisere leads under selve ekstraktionen. Brugere, der ikke har brug for hele automationskæden, kan springe n8n-opsætningen helt over.
Workflow 3: Tracker til nye boliglister
Mål: Opdag nye boliger på Zillow eller Realtor.com hver uge og send en opsummeringsmail.
Nodekæde: Schedule Trigger (ugentligt) → HTTP Request (liste-sider) → HTML (udtræk adresse, pris, antal værelser, link) → Code (rens data) → Google Sheets (tilføj) → Code (sammenlign med sidste uges data, markér nye lister) → IF (er der nye lister?) → Gmail/SendGrid (send opsummering)
Bemærk: Thunderbit har — ingen CSS-selektorer nødvendige. Brugere, der har brug for hele automationskæden (scrape → sammenlign → advisér), får mest ud af n8n; brugere, der bare har brug for liste-data, får mest ud af Thunderbit.
For mere workflow-inspiration har n8n’s community-bibliotek skabeloner til , og .
Tips til at holde dine n8n Web Scraping-pipelines kørende uden problemer
Produktion-scraping er 20% byggeri og 80% vedligeholdelse.
Brug batching og forsinkelser for at undgå rate limits
Slå batching til på HTTP Request-noden og sæt en ventetid på 1–3 sekunder mellem batches. Samtidige forespørgsler er den hurtigste vej til IP-ban. Lidt tålmodighed her sparer meget besvær senere.
Overvåg workflow-kørsler for stille fejl
Brug n8n’s Executions-faneblad til at tjekke fejlede kørsler. Scraped data kan stille komme tilbage tomme, hvis et site ændrer layout — workflowet "lykkes", men dit regneark er fyldt med tomme felter.
Sæt et Error Trigger-workflow op, der kører ved enhver fejl og sender en Slack- eller email-advarsel. Det er ikke til diskussion i produktionspipelines.
Gem dine CSS-selektorer eksternt, så de er nemme at opdatere
Opbevar CSS-selektorer i et Google Sheet eller n8n environment variables, så du kan opdatere dem uden at redigere selve workflowet. Når et site ændrer layout, skal du kun opdatere selektoren ét sted.
Vid, hvornår du skal skifte til en AI-drevet scraper
Hvis du konstant opdaterer CSS-selektorer, kæmper med anti-bot-foranstaltninger eller bruger mere tid på at vedligeholde scrapers end på at bruge dataene, så overvej et AI-drevet værktøj som , der læser sitet frisk hver gang og tilpasser sig automatisk. Den fungerer godt: Thunderbit håndterer det skrøbelige ekstraktionslag (den del, der går i stykker, hver gang et site opdaterer en <div>), eksporterer til Google Sheets eller Airtable, og n8n opsamler de nye rækker via sin indbyggede Sheets/Airtable-trigger til at håndtere orkestreringen — CRM-opdateringer, alerts, betinget logik, multi-system distribution.
Afrunding: Byg den pipeline, der passer til dit team
n8n web scraping er stærkt, når du har brug for scraping som ét trin i et større automationsworkflow. Men det kræver teknisk opsætning, løbende vedligeholdelse og tålmodighed med pagination, anti-bot og planlægningskonfiguration. Denne guide dækkede hele flowet: dit første workflow, pagination (det, som alle guides springer over), planlægning, anti-bot-fejlfinding, en ærlig vurdering af hvor n8n passer ind, og virkelige workflows, du kan kopiere.
Sådan ser jeg på det:
- Brug n8n når scraping er en del af en kompleks, flertrins automationskæde — CRM-opdateringer, Slack-advarsler, AI-berigelse, betinget routing.
- Brug når du har brug for data hurtigt uden at bygge workflows — AI håndterer feltforslag, pagination, anti-bot og eksport med 2 klik.
- Brug Python når du har brug for maksimal kontrol og har udviklerressourcer.
Og helt ærligt, den bedste opsætning for mange teams er begge dele: Thunderbit til ekstraktionen, n8n til orkestreringen. Hvis du vil se, hvordan AI-drevet scraping klarer sig i forhold til dit n8n-workflow, kan du prøve i lille skala — og installeres på få sekunder. For video-gennemgange og workflow-idéer kan du tjekke .
Ofte stillede spørgsmål
Kan n8n scrape websites med meget JavaScript?
Ikke kun med den indbyggede HTTP Request-node. HTTP Request-noden henter rå HTML og kan ikke køre JavaScript. Til JS-renderede sites skal du bruge en community-node som eller en scraping-API-integration (ScrapeNinja, Firecrawl), der renderer JavaScript server-side. Thunderbit håndterer JS-tunge sites nativt i både Browser- og Cloud-scraping-tilstand.
Er n8n web scraping gratis?
n8n’s self-hosted version er gratis og open source. n8n Cloud havde tidligere en gratis plan, men pr. april 2026 tilbyder de kun en 14-dages prøveperiode — derefter starter planer ved $24/måned for 2.500 executions. Scraping af beskyttede sites kan også kræve betalte proxy-services ($5–15/GB for residential proxies) eller scraping-API’er ($49–200+/måned afhængigt af volumen).
Hvordan sammenligner n8n web scraping sig med Thunderbit?
n8n er bedre til flertrins-automatiseringer, hvor scraping er én del af et større workflow (fx scrape → berig → filtrér → push til CRM → alert i Slack). Thunderbit er bedre til hurtig, no-code dataudtræk med AI-drevet feltgenkendelse, automatisk pagination og ingen vedligeholdelse, når sites ændrer sig. Mange teams bruger begge dele sammen — Thunderbit til ekstraktion, n8n til orkestrering.
Kan jeg scrape data fra sites, der kræver login, med n8n?
Ja, men det kræver, at du konfigurerer cookies eller session tokens i HTTP Request-noden, og det kan være svært at vedligeholde. Thunderbit’s Browser Scraping-tilstand arver automatisk brugerens loggede Chrome-session — hvis du er logget ind, kan Thunderbit scrape det, du ser.
Hvad gør jeg, når min n8n scraper pludselig stopper med at returnere data?
Tjek først n8n Executions-fanebladet for fejl. Den mest almindelige årsag er en ændring i sitets layout, som har brudt dine CSS-selektorer — workflowet "lykkes", men returnerer tomme felter. Verificér dine selectors i Chromes Inspect-værktøj, opdater dem i workflowet (eller i dit eksterne selector-ark), og test igen. Hvis du rammer anti-bot-blokeringer, så følg fejlfindingstræet i denne guide. For langsigtet stabilitet kan du overveje en AI-drevet scraper som Thunderbit, der automatisk tilpasser sig layoutændringer.
Læs mere