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 demo med 10 rækker til at virke på en testside og derefter forsøgt at scrape rigtige konkurrentpriser på tværs af 200 produktsider. Resultatet? En ødelagt pagination-loop, en væg af 403-fejl og en stille scheduler, der holdt op med at køre efter den første tirsdag.
Det hul — mellem demoen og den rigtige pipeline — er dér, de fleste n8n scraping-projekter dør. Jeg har brugt år på at bygge og arbejde med automation, og jeg kan sige det sådan: selve scraping-delen er sjældent det svære. Det er alt efter den første vellykkede scrape, der vælter læsset. Pagination, planlægning, anti-bot-håndtering, datarensning, eksport og — den store — vedligeholdelse, når sitet ændrer layout for tredje gang i kvartalet. Denne guide dækker hele pipeline-processen, 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, hvor AI-drevne værktøjer som Thunderbit kan spare dig timer (eller dage) af frustration.
Hvad er n8n Web Scraping (og hvorfor de fleste guides kun ridser overfladen)
n8n er en open source, low-code platform til workflow-automation. Tænk på det som et visuelt lærred, hvor du forbinder "noder" — hver node løser en bestemt opgave (henter en webside, parser HTML, sender en Slack-besked, skriver til Google Sheets) — og kæder dem sammen til automatiserede workflows. Ingen tung kodning er nødvendig, selvom du kan smide JavaScript ind, når du har brug for det.
"n8n web scraping" betyder at bruge n8n's indbyggede HTTP Request- og HTML-noder (plus community-noder) til at hente, parse og behandle websitedata 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-selectors til at udtrække de datapunkter, du er ude efter — produktnavne, priser, emails, hvad som helst).
Platformen er massiv: pr. april 2026 har n8n , over 230.000 aktive brugere, 9.166+ community workflow-skabeloner og sender en ny mindre udgave cirka hver uge. I marts 2025 rejste de . Der er masser af fremdrift her.
Men der er et hul, som ingen rigtig taler om. Den mest populære n8n scraping-guide på dev.to (af Lakshay Nasa, udgivet under "Extract by Zyte") lovede pagination i "Part 2." Del 2 kom faktisk — og forfatterens egen konklusion var: "N8N giver os en standard Pagination Mode inde i HTTP Request-noden under Options, og selvom det lyder bekvemt, fungerede det ikke stabilt efter min erfaring i typiske web scraping-brugsscenarier." Forfatteren endte med at sende pagination gennem en betalt tredjeparts-API. Samtidig bliver brugere på n8n-forummet ved med at pege på "pagination, throttling, login" som det punkt, hvor n8n scraping "hurtigt bliver komplekst." Denne guide er lavet for at udfylde det hul.
Hvorfor n8n Web Scraping er vigtigt for sales-, ops- og ecommerce-teams
n8n web scraping er ikke en hobby for udviklere. Det er et forretningsværktøj. ligger i 2025 omkring $1–1,3 mia. og forventes at nå $2–2,3 mia. i 2030. Dynamisk prissætning alene bruges af cirka , og bruger nu alternative data — meget af det indsamlet fra nettet. McKinsey rapporterer, at dynamisk prissætning leverer for dem, der tager det i brug.
Her er det, n8n virkelig er stærk til: Det handler ikke kun om at få data. 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.
| Brugsscenarie | Hvem får værdi | Hvad du scraper | Forretningsresultat |
|---|---|---|---|
| Leadgenerering | Salgsteams | Virksomhedsfortegnelser, kontaktsider | Fyld CRM med kvalificerede leads |
| Overvågning af konkurrentpriser | Ecommerce-ops | Produktsider | Justér priser i realtid |
| Tracking af boliglister | Ejendomsmæglere | Zillow, Realtor, lokale MLS-sider | Spot nye boliger før konkurrenterne |
| Markedsanalyse | Marketingteams | Anmeldelsessider, fora, nyheder | Identificér trends og kundesentiment |
| Overvågning af leverandør-/SKU-lager | Supply chain-ops | 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 copy-paster fra websites over i spreadsheets, lader I penge blive på bordet.
Dit n8n Web Scraping-værktøjssæt: Kerne-noder og tilgængelige løsninger
Før du bygger noget, 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 anmoder om en side, men returnerer koden i stedet for at rendere den. Understøtter GET/POST, headers, batching og (i teorien) indbygget pagination.
- HTML-node (tidligere "HTML Extract"): Parser HTML med CSS-selectors for at trække specifikke data ud — titler, priser, links, billeder, alt hvad du skal bruge.
- Code-node: Lader dig skrive JavaScript-snippets til datarensning, URL-normalisering, deduplikering og custom logik.
- 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 (kritisk for pagination — mere om det nedenfor).
- Schedule Trigger: Starter dit workflow efter en cron-plan.
- Error Trigger: Alarmerer dig, når et workflow fejler (afgørende i produktion).
Til avanceret scraping — sider med JavaScript-rendering eller kraftig anti-bot-beskyttelse — skal du bruge community-noder:
| Tilgang | Bedst til | Færdighedsniveau | Håndterer JS-renderede sider | Anti-bot-håndtering |
|---|---|---|---|---|
| n8n HTTP Request + HTML-noder | Statisk 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 browser-session eller cloud-håndtering) |
Der findes ingen native headless-browser-node i n8n pr. v2.15.1. Enhver scrape af JS-renderet indhold 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 "AI Suggest Fields", derefter "Scrape", og får strukturerede data — ingen CSS-selectors, ingen node-konfiguration, intet vedligehold. Jeg viser løbende, hvor det passer ind (og hvor n8n er det bedre valg) gennem hele guiden.
Trin for trin: Byg dit første n8n Web Scraping-workflow
Nu hvor værktøjskassen er på plads, viser jeg, hvordan du bygger en fungerende n8n web scraper fra bunden. Jeg bruger en produktside som eksempel — den type side, du faktisk ville scrape til prisovervågning eller konkurrentresearch.
Før du går i gang:
- 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-selectors)
Trin 1: Opret et nyt workflow og tilføj en manuel trigger
Åbn n8n, klik "New Workflow", og giv det et beskrivende navn — som f.eks. "Competitor Price Scraper." Træk en Manual Trigger-node ind. (Vi opgraderer til en schedule-trigger senere.)
Du bør nu se én node på dit lærred, 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 indtast din mål-URL (f.eks. https://example.com/products).
Nu kommer det afgørende trin, som de fleste guides springer over: tilføj en realistisk User-Agent-header. Som standard sender n8n axios/xx som user agent — og det er øjeblikkeligt genkendeligt som en bot. Under "Headers" tilføjer du:
| 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 requests. Det hjælper med at undgå rate limits.
Kør noden. Du bør se rå HTML i output-panelet.
Trin 3: Parse dataene med HTML-noden
Forbind en HTML-node til outputtet fra HTTP Request. Sæt operationen til Extract HTML Content.
For at finde de rigtige CSS-selectors skal du åbne din målside i Chrome, højreklikke på den data, du vil have fat i (f.eks. en produkttitel), og vælge "Inspect." I Elements-panelet højreklikker du på det markerede HTML-element og vælger "Copy → Copy selector."
Konfigurér dine udtræksværdier sådan her:
| Nøgle | CSS-selector | Returværdi |
|---|---|---|
| product_name | .product-title | Tekst |
| price | .price-current | Tekst |
| url | .product-link | Attribut: href |
Kør noden. Du bør 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 ofte rodet. Priser har ekstra mellemrum, URL'er kan være relative, og tekstfelter kan have linjeskift til sidst. Tilføj en Code-node og forbind den til HTML-noden.
Her er et enkelt 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});
Dette trin er afgørende for data i produktionskvalitet. Spring det over, og dit spreadsheet 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). Godkend med din Google-konto, vælg dit regneark og ark, og map felterne fra Code-node-outputtet til dine kolonneoverskrifter.
Kør hele workflowet. Du bør nu se rene, strukturerede data lande i dit regneark.
Sidebemærkning: 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 smart genvej.
Den del enhver n8n Web Scraping-guide springer over: komplette pagination-workflows
Pagination er den største mangel 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-inkrementering — sider som
?page=1,?page=2osv. - Infinite scroll — indholdet indlæses, mens du scroller ned (tænk Twitter, Instagram eller mange moderne produktkataloger).
Klikbaseret pagination i n8n (URL-inkrementering med loop-noder)
Den indbyggede Pagination-indstilling under HTTP Request-nodens Options-menu lyder praktisk. I praksis er den ikke helt pålidelig. Den mest populære n8n scraping-forfatter (Lakshay Nasa) prøvede den og skrev: "it didn't behave reliably in my experience." Brugere på forummet rapporterer, at den , og ikke formår at 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 loopet tilføjer du din HTTP Request-node (sæt URL til
{{ $json.url }}), og derefter HTML-noden til parsing. - Tilføj en Wait-node (1–3 sekunder, tilfældigt) inde i loopet for at undgå 429-rate limits.
- Efter loopet samler du resultaterne og eksporterer til Google Sheets eller CSV.
Hele kæden: Code (byg URL'er) → Loop Over Items → HTTP Request → HTML → Wait → (loop tilbage) → Aggregate → Export.
Et vigtigt forbehold: Loop Over Items-noden har en hvor indlejrede loops stille springer items over. Hvis du både paginerer og beriger undersider, så test grundigt — "done"-antallet matcher måske ikke dit inputantal.
Pagination med infinite scroll: hvorfor n8n's indbyggede noder kæmper
Sider med infinite scroll indlæser indhold via JavaScript, mens du scroller. HTTP Request-noden henter kun den indledende HTML — den kan ikke udføre JavaScript eller trigge scroll-hændelser. Du har to muligheder:
- Brug en headless browser community-node (f.eks. eller ) til at rendere siden og simulere scrolling.
- Brug en scraping-API (ScrapeNinja, Firecrawl, ZenRows) med JS-rendering slået til.
Begge løsninger tilføjer betydelig kompleksitet. Du ser på 30–60+ minutters opsætning pr. site plus løbende vedligehold.
Sådan håndterer Thunderbit pagination uden konfiguration
Jeg er biased, men forskellen er tydelig:
| Funktion | n8n (DIY-workflow) | Thunderbit |
|---|---|---|
| Klikbaseret pagination | Manuel opsætning af loop-node, URL-inkrementering | Automatisk — finder og følger pagination |
| Sider med infinite scroll | Kræver headless browser + community-node | Indbygget support, ingen konfiguration nødvendig |
| Opsætningsindsats | 30–60 min pr. 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, vil n8n tage dig en hel eftermiddag. Thunderbit tager omkring to minutter. Det er ikke en kritik af n8n — det er bare et andet værktøj til en anden opgave.
Sæt det op én gang og lad det køre: Cron-styrede n8n Web Scraping-pipelines
Engangsscraping 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 — selvom det er en af de mest efterspurgte funktioner i community'et.
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 en cron-udtryk (0 8 * * *).
Hele workflow-kæden:
- Schedule Trigger (dagligt kl. 8)
- Code-node (generér 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 pris faldet under tærsklen?)
- Slack (send advarsel hvis ja)
Læg et Error Trigger-workflow ved siden af, som aktiveres ved enhver mislykket kørsel og pinger Slack. Ellers opdager du først problemet tre uger senere, når rapporten er tom, hvis selectors går i stykker — og det gør de.
To ikke-selvfølgelige krav:
- n8n skal køre 24/7. En self-hosted løsning på en bærbar vil ikke trigge, 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 mister registreringen efter ændringer uden nogen fejlmeddelelse.
Byg en ugentlig pipeline til lead-udtræk
Samme mønster, andet mål: Schedule Trigger (hver mandag kl. 9) → HTTP Request (virksomhedsfortegnelse) → HTML (udtræk navn, telefon, email) → Code (fjern dubletter, rens format) → Airtable- eller HubSpot-upload.

Vedligeholdelsesbyrden er den skjulte omkostning her. Hvis fortegnelsessitet ændrer layout, går dine CSS-selectors i stykker, og workflowet fejler stille. HasData vurderer, at af den oprindelige byggetid bør budgetteres til løbende vedligehold pr. år i enhver selector-baseret pipeline. Når du vedligeholder omkring 20 sites, bliver overheaden helt reel.
Thunderbits Scheduled Scraper: det no-code alternativ
Thunderbits Scheduled Scraper lader dig beskrive intervallet i almindeligt sprog (f.eks. "hver mandag kl. 9"), indtaste dine URL'er og klikke "Schedule." Den kører i skyen — ingen hosting, ingen cron-udtryk, ingen stille afregistreringer.
| Parameter | n8n Scheduled Workflow | Thunderbit Scheduled Scraper |
|---|---|---|
| Opsætning af plan | Cron-udtryk eller n8n schedule-UI | Beskriv det i almindeligt sprog |
| Datarensning | Manuel Code-node påkrævet | AI renser/etiketterer/oversætter automatisk |
| Eksportdestinationer | Kræver integrationsnoder | Google Sheets, Airtable, Notion, Excel (gratis) |
| Hostingkrav | Self-hosted eller n8n Cloud | Ingen — kører i skyen |
| Vedligehold ved ændringer på site | Selectors går i stykker, manuel rettelse nødvendig | AI læser siden frisk hver gang |
Den sidste linje er den vigtigste. Brugere på forummet siger det meget direkte: "de fleste er fine, indtil et site ændrer layout." Thunderbits AI-baserede tilgang fjerner den smerte, fordi den ikke er afhængig af faste CSS-selectors.
Når din n8n Web Scraper bliver blokeret: En guide til fejlfinding af anti-bot
At blive blokeret er den største frustration efter pagination. Standardrådet — "tilføj en User-Agent-header" — er omtrent lige så nyttigt som 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-challenges og adfærdsanalyse. n8n's HTTP Request-node, som bruger Axios-biblioteket under motorhjelmen, producerer et tydeligt, letgenkendeligt TLS-fingeraftryk, 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æ
Her er en systematisk fejlfindingsramme — ikke bare "tilføj en User-Agent":
Er requesten blokeret?
- 403 Forbidden → Tilføj User-Agent- og Accept-headers (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 (f.eks. )
- 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 på HTTP Request-noden, sæt ventetid til 2–5 sekunder mellem batches, og reducer concurrency
Et andet forbehold: n8n har en , hvor HTTP Request-noden ikke korrekt kan tunnelere HTTPS gennem en HTTP-proxy. Axios-biblioteket fejler ved TLS-handshake, selvom curl i den samme container fungerer fint. Hvis du bruger en proxy og får mystiske forbindelsesfejl, er det sandsynligvis derfor.
Hvorfor Thunderbit omgår de fleste anti-bot-problemer
Thunderbit tilbyder to scraping-tilstande:
- Browser Scraping: Kører inde i din faktiske Chrome-browser og arver dine sessionscookies, login-status og browser-fingeraftryk. Det omgår de fleste anti-bot-foranstaltninger, som blokerer server-side requests — fordi requesten er en rigtig browser.
- Cloud Scraping: Til offentligt tilgængelige sites håndterer Thunderbits cloud anti-bot i stor skala — .
Hvis du bruger mere tid på at kæmpe mod Cloudflare end på at analysere data, er det her det praktiske alternativ.
Ærligt svar: Hvornår n8n Web Scraping virker — og hvornår du bør bruge noget andet
n8n er en fantastisk platform. Men det er ikke det rigtige værktøj til alle scraping-opgaver, og ingen konkurrentartikel er ærlig omkring det. Brugere spørger bogstaveligt talt på 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 virkelig er stærk
- Multi-step workflows der kombinerer scraping med efterfølgende processer — CRM-opdateringer, Slack-advarsler, AI-analyse, database-skrivning. Det er n8n's kernekompetence.
- Scenarier hvor scraping kun er én node i en større automationskæde — scrape → berig → filtrér → send til CRM.
- Tekniske brugere der er komfortable med CSS-selectors og node-baseret logik.
- Situationer hvor du har brug for custom datatransformation mellem scraping og lagring.
Hvor n8n Web Scraping bliver tungt
- Ikke-tekniske brugere der bare skal have data hurtigt. Node-opsætning, CSS-selector-jagt og debug-loopet er stejlt for forretningsbrugere.
- Sites med kraftig anti-bot-beskyttelse. Proxy- og API-tilføjelser øger både pris og kompleksitet.
- Vedligeholdelse når et site ændrer layout. CSS-selectors går i stykker, workflows fejler stille.
- Massescraping på tværs af mange forskellige sidetyper. Hvert site kræver sin egen selector-konfiguration.
- Berigelse af undersider. Kræver, at du bygger separate sub-workflows i n8n.
Side om side: n8n vs. Thunderbit vs. Python-scripts
| Faktor | n8n DIY-scraping | Thunderbit | Python-script |
|---|---|---|---|
| Teknisk færdighedsniveau | Mellem (noder + CSS-selectors) | Ingen (AI foreslår felter) | Højt (kodning) |
| Opsætningstid pr. nyt site | 30–90 min | ca. 2 min | 1–4 timer |
| Anti-bot-håndtering | Manuel (headers, proxies, API'er) | Indbygget (browser/cloud-tilstande) | Manuel (biblioteker) |
| Vedligehold når site ændrer sig | Manuelle selector-opdateringer | Nul — AI tilpasser sig automatisk | Manuelle kodeopdateringer |
| Understøttelse af multi-step workflows | Fremragende (kernekompetence) | Eksport til Sheets/Airtable/Notion | Kræver custom kode |
| Omkostninger i stor skala | n8n-hosting + proxy/API-omkostninger | Kredittbaseret (~1 kredit pr. række) | Server- + proxy-omkostninger |
| Berigelse af undersider | Manuel — byg separat sub-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 skal have data hurtigt uden at bygge workflows. Brug Python, når du vil have maksimal kontrol og har udviklerressourcer. De er ikke konkurrenter — de supplerer hinanden.

Virkelige n8n Web Scraping-workflows, du faktisk kan kopiere
Brugere på forummet bliver ved med at spørge: "Har nogen kædet det her sammen til multi-step workflows?" Her er tre konkrete workflows — rigtige node-sekvenser, du kan bygge i dag.
Workflow 1: Overvågning af konkurrentpriser i ecommerce
Mål: Følg konkurrentpriser dagligt og få besked, når de falder.
Node-kæ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 (2s) → (loop tilbage) → Code (rens data, normalisér priser) → Google Sheets (tilføj rækker) → IF (pris under tærskel?) → Slack (send advarsel)
Kompleksitet: 8–10 noder, 30–60 min opsætning pr. konkurrentsite.
Thunderbit-genvej: Thunderbits Scheduled Scraper + kan give lignende resultater på få minutter, med gratis eksport til Google Sheets.
Workflow 2: Pipeline til leadgenerering for salg
Mål: Scrape en virksomhedsfortegnelse ugentligt, rens og kategorisér leads, og send dem til CRM.
Node-kæde: Schedule Trigger (ugentligt, mandag kl. 9) → HTTP Request (fortegnelsesside) → HTML (udtræk navn, telefon, email, adresse) → Code (fjern dubletter, rens format) → OpenAI/Gemini-node (kategorisér efter branche) → HubSpot-node (opret kontakter)
Bemærk: n8n har en indbygget — nyttig til at pushe data til CRM. Men scraping- og rensningstrinnene kræver stadig manuelt arbejde med CSS-selectors.
Thunderbit-genvej: Thunderbits gratis og Phone Number Extractor kan trække kontaktoplysninger ud med 1 klik uden at bygge et workflow. Dets AI-mærkning kan kategorisere leads under udtrækningen. Brugere, der ikke har brug for hele automation-kæden, kan springe n8n-opsætningen helt over.
Workflow 3: Tracker til nye boliger
Mål: Spot nye boliger på Zillow eller Realtor.com hver uge og send et opsummeret email-nyhedsbrev.
Node-kæde: Schedule Trigger (ugentligt) → HTTP Request (boligsider) → HTML (udtræk adresse, pris, værelser, link) → Code (rens data) → Google Sheets (tilføj) → Code (sammenlign med sidste uges data, markér nye boliger) → IF (nye boliger fundet?) → Gmail/SendGrid (send digest)
Bemærk: Thunderbit har — ingen CSS-selectors nødvendige. Brugere, der har brug for hele automation-kæden (scrape → sammenlign → advisér), får mest ud af n8n; brugere, der bare skal have listerne ud, 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 stabilt
Produktionsscraping er 20% byggeri og 80% vedligehold.
Brug batching og pauser for at undgå rate limits
Slå batching til på HTTP Request-noden, og sæt en ventetid på 1–3 sekunder mellem batches. Samtidige requests er den hurtigste vej til at få sin IP blokeret. En smule tålmodighed her sparer dig for meget smerte senere.
Overvåg workflow-kørsler for stille fejl
Brug n8n's Executions-fane til at tjekke fejlede kørsler. Scraped data kan stille blive tom, hvis et site ændrer layout — workflowet "lykkes", men dit regneark er fyldt med tomme felter.
Sæt et Error Trigger-workflow op, som aktiveres ved enhver fejlet kørsel og sender en Slack- eller email-advarsel. Det er ikke til forhandling i produktionspipelines.
Gem dine CSS-selectors eksternt, så de er nemme at opdatere
Opbevar CSS-selectors 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 selector ét sted.
Vær klar til at skifte til en AI-drevet scraper
Hvis du konstant opdaterer CSS-selectors, kæmper mod 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 siden frisk hver gang og tilpasser sig automatisk. Den fungerer godt: Thunderbit håndterer det skrøbelige udtræk-lag (delen, der går i stykker, hver gang et site opdaterer en <div>), eksporterer til Google Sheets eller Airtable, og n8n tager imod de nye rækker via sin native Sheets/Airtable-trigger og håndterer orkestreringen — CRM-opdateringer, advarsler, 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 vedligehold og tålmodighed med pagination, anti-bot og planlægningskonfiguration. Denne guide dækkede hele pipeline-processen: dit første workflow, pagination (den del alle guides springer over), planlægning, anti-bot-fejlfinding, en ærlig vurdering af hvor n8n passer ind, og konkrete workflows du kan kopiere.
Sådan tænker jeg om 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 skal have data hurtigt uden at bygge workflows — AI håndterer feltsuggestering, pagination, anti-bot og eksport med 2 klik.
- Brug Python når du vil have maksimal kontrol og har udviklerressourcer.
Og helt ærligt: den bedste opsætning for mange teams er begge dele: Thunderbit til udtræk, n8n til orkestrering. Hvis du vil se, hvordan AI-drevet scraping står i forhold til dit n8n-workflow, kan du med eksperimentere i lille skala — og installeres på få sekunder. For videovejledninger og workflow-idéer kan du tjekke .
Ofte stillede spørgsmål
Kan n8n scrape websites med meget JavaScript?
Ikke med kun den indbyggede HTTP Request-node. HTTP Request-noden henter rå HTML og kan ikke udfø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 indbygget i både Browser- og Cloud-scraping-tilstande.
Er n8n web scraping gratis?
n8n's self-hostede 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 planerne ved $24/måned for 2.500 executions. Scraping af beskyttede sites kan også kræve betalte proxy-tjenester ($5–15/GB for residential proxies) eller scraping-API'er ($49–200+/måned afhængigt af volumen).
Hvordan står n8n web scraping i forhold til Thunderbit?
n8n er bedre til multi-step automations, hvor scraping er én del af et større workflow (f.eks. 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 nul vedligehold, når sites ændrer sig. Mange teams bruger begge dele sammen — Thunderbit til udtræk, 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, hvilket kan være svært at vedligeholde. Thunderbit's Browser Scraping-tilstand arver automatisk brugerens login-session i Chrome — 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-fanen for fejl. Den mest almindelige årsag er en layoutændring på sitet, som har ødelagt dine CSS-selectors — workflowet "lykkes", men returnerer tomme felter. Verificér dine selectors i Chrome's Inspect-værktøj, opdatér dem i dit workflow (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