Att skrapa ut användbar data från en webbplats låter enkelt tills du sitter med rörig HTML, trasiga tabeller och ännu ett ”snabbt” copy-paste-jobb som blir en timme av städning. Sedan ska du fortfarande sortera det, logga det någonstans och skicka det till den som bad om det.
Det är här automatisering med Google Sheets Gmail hjälper. Marknadschefer som gör konkurrentkoll märker det först. Men analytiker som bygger veckovisa researchloggar och småföretagare som följer priser fastnar i samma slit.
Det här arbetsflödet skrapar en webbsida, extraherar fälten du bryr dig om, sorterar resultaten, sparar dem i Sheets och Excel och mejlar dig en korrekt formaterad CSV. Du får se vad det gör, vad du behöver och hur du får igång det utan att göra det här till ett ”nytt system”-projekt.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutresultat:
n8n Workflow Template: Google Sheets + Gmail: skrapa data till CSV
flowchart LR
subgraph sg0["Manual Start Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Start Trigger", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Retrieve Web Page"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/html.dark.svg' width='40' height='40' /></div><br/>Parse Book List"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Divide Items", pos: "b", h: 48 }
n4["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/html.dark.svg' width='40' height='40' /></div><br/>Parse Book Details"]
n5@{ icon: "mdi:cog", form: "rounded", label: "Order by Cost", pos: "b", h: 48 }
n6@{ icon: "mdi:cog", form: "rounded", label: "Generate CSV File", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch CSV Email", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Append Excel Worksheet", pos: "b", h: 48 }
n9@{ icon: "mdi:database", form: "rounded", label: "Append Google Sheet", pos: "b", h: 48 }
n3 --> n4
n5 --> n8
n5 --> n6
n5 --> n9
n6 --> n7
n1 --> n2
n4 --> n5
n0 --> n1
n2 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 trigger
class n9 database
class n1 api
classDef customIcon fill:none,stroke:none
class n1,n2,n4 customIcon
Problemet: web scraping skapar ofta rörig data
Du börjar med ett enkelt mål: ”Hämta listan med poster från den här sidan och lägg den i ett kalkylark.” I praktiken slutar det med att du kopierar delar av en sida, tappar rader, förstör kolumner och fixar format för hand. Även när du använder ett scraping-verktyg kommer resultatet ofta osorterat eller halvt strukturerat, vilket gör att du ändå får göra grovjobbet. Och när någon frågar ”Kan du mejla mig den senaste versionen?” så gör du om allt igen och hoppas att inget ändrades på sajten under natten.
Det drar iväg snabbt. Här är var friktionen brukar växa.
- HTML-tabeller klistras inte in snyggt, så du slösar tid på att reparera kolumner och ta bort skräptecken.
- Manuell sortering och dubblettrensning gör att en 10-minutersuppgift drar ut över hela eftermiddagen.
- Rapporter blir inkonsekventa eftersom alla formaterar sin ”version” på olika sätt.
- När det är dags att dela exporterar du, bifogar och skickar om filen, om och om igen.
Lösningen: skrapa en gång, leverera överallt (strukturerat)
Det här n8n-arbetsflödet gör en webbsida till en repeterbar researchlogg. Det börjar med att hämta rå HTML från en mål-URL och extraherar sedan en lista med poster från sidan. Varje post bearbetas i en loop så att du kan öppna detaljsidor (eller sektioner) och fånga specifika fält konsekvent. När datan är insamlad sorterar arbetsflödet den (i det här fallet efter kostnad), konverterar slutdatasetet till en korrekt CSV-fil, mejlar CSV:en till dig via Gmail och loggar samma rader i Google Sheets och Microsoft Excel 365 för löpande analys. Inget copy-paste. Ingen ”vem ändrade den här kolumnen?”-cirkus.
Arbetsflödet startar när du kör det manuellt (eller enligt schema om du vill). Det hämtar sidan, tolkar listan och går sedan ner i posternas detaljer i batchar så att resultatet förblir strukturerat. Till sist skapar n8n CSV:en, skickar den via Gmail och lägger till raderna i både Sheets och Excel så att dina rapportkällor hålls synkade.
Det du får: automatisering vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut i praktiken
Säg att du följer 30 poster från en konkurrent-sida en gång i veckan. Manuellt kan det ta cirka 2 minuter per post att hämta listan, öppna varje post och klistra in fält i ett ark, plus ytterligare 20 minuter för att sortera, formatera, exportera och mejla. Det blir ungefär 1,5 timme. Med det här arbetsflödet kör du triggern i n8n, väntar på bearbetningen (ofta bara några minuter) och får en korrekt formaterad CSV i Gmail samtidigt som raderna redan har lagts till i Google Sheets och Excel.
Det här behöver du
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra och dela den skrapade datamängden.
- Gmail för att mejla den genererade CSV:en automatiskt.
- Microsoft Excel 365 för att lägga till rader via Microsoft Graph.
- Google Cloud-inloggningsuppgifter (skapa i Google Cloud Console, aktivera Sheets-, Drive- och Gmail-API:er).
- Microsoft Azure-inloggningsuppgifter (skapa i Azure Portal, bevilja Microsoft Graph-behörigheter).
Kompetensnivå: Mellan. Du kopplar Google- och Microsoft-konton och kan behöva justera en HTML-selektor beroende på webbplatsen.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Kör arbetsflödet (eller schemalägg det). Det börjar med en manuell trigger i n8n, vilket är perfekt för test. När du litar på det byter många team till ett dagligt eller veckovis schema.
Hämta och tolka webbplatsen. n8n hämtar HTML från din valda URL och extraherar sedan listsektionen (till exempel en ”boklista” eller produktlista). Om sidans layout ändras är det här du oftast justerar.
Berika varje post i batchar. Arbetsflödet delar upp listan i enskilda poster, loopar igenom dem och tolkar detaljfälten konsekvent. Den här batch-metoden är också snällare mot sajter som inte uppskattar täta förfrågningar.
Sortera, exportera och leverera. Efter att ha sorterat resultaten efter kostnad skapar n8n en CSV-fil, mejlar den via Gmail och lägger till samma rader i Google Sheets och Microsoft Excel 365.
Du kan enkelt ändra mål-URL och vilka fält som extraheras för att matcha en annan webbplats eller en annan researchmall. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den manuella triggern
Konfigurera den manuella triggern så att ni kan köra arbetsflödet vid behov under testning.
- Lägg till noden Manual Start Trigger som arbetsflödets trigger.
- Behåll standardinställningarna i Manual Start Trigger eftersom den inte har några parametrar konfigurerade.
- (Valfritt) Lämna Flowpast Branding som en referensnotering för dokumentation och tydligare layout.
Steg 2: anslut webbkälla
Hämta HTML-innehållet från målsajten för att mata parsing-noderna.
- Lägg till noden Retrieve Web Page och anslut den till Manual Start Trigger.
- Ställ in URL till
http://books.toscrape.com. - I alternativen för Retrieve Web Page, aktivera Allow Unauthorized Certs om det krävs av er miljö (redan inställt i det här arbetsflödet).
Steg 3: konfigurera HTML-parsing och databearbetning
Extrahera boklistan, dela upp objekt, tolka detaljer och sortera resultat efter pris.
- Konfigurera Parse Book List med Operation satt till
extractHtmlContentoch ett extraktionsvärde med Keybooks, CSS Selector.row > lioch Return Valuehtmlmed Return Array aktiverat. - Anslut Parse Book List till Divide Items och ställ in Field To Split Out till
books. - Anslut Divide Items till Parse Book Details och ställ in Operation till
extractHtmlContentmed Data Property Namebooks. - I Parse Book Details, lägg till extraktionsvärden: title med CSS Selector
h3 > aoch Attributetitle, samt price med CSS Selector.price_color. - Anslut Parse Book Details till Order by Cost och ställ in sorteringsfältet till price med Order
descending.
Steg 4: konfigurera utdata och parallella åtgärder
Skicka data till e-post, Excel och Google Sheets. Det här arbetsflödet förgrenas parallellt efter sorteringen.
- Notera den parallella körningen: Order by Cost skickar utdata till Append Excel Worksheet, Generate CSV File och Append Google Sheet parallellt.
- I Append Excel Worksheet, behåll Resource som
worksheetoch Operation somappend. Ställ in Workbook till[YOUR_ID]och Worksheet till[YOUR_ID](t.ex.Sheet1). - Inloggningsuppgifter krävs: Anslut era microsoftExcelOAuth2Api-uppgifter i Append Excel Worksheet.
- I Generate CSV File, lämna standardalternativen för att konvertera den sorterade JSON:en till en CSV-binärfil.
- Anslut Generate CSV File till Dispatch CSV Email och ställ in Send To till
[YOUR_EMAIL], Subject tillbookstore csvoch Message tillHej, här är den scrapade datan från onlinebokhandeln!. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-uppgifter i Dispatch CSV Email.
- I Append Google Sheet, ställ in Operation till
append, Document ID till[YOUR_ID]och Sheet Name tillgid=0(t.ex.Sheet1). Behåll kolumnmappningen förtitleochpricepå auto-map. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-uppgifter i Append Google Sheet.
title och price) i både Append Excel Worksheet och Append Google Sheet för att undvika schema-missmatchningar.Steg 5: testa och aktivera ert arbetsflöde
Verifiera att scrapning, sortering och utdata fungerar som förväntat innan ni aktiverar produktionsanvändning.
- Klicka Execute Workflow på Manual Start Trigger för att köra hela flödet.
- Bekräfta att Parse Book List returnerar
books-arrayen och att Parse Book Details matar ut fältentitleochprice. - Verifiera att Order by Cost sorterar efter pris i fallande ordning.
- Kontrollera att Dispatch CSV Email levererar ett e-postmeddelande med en CSV-bilaga.
- Bekräfta att nya rader läggs till i både Append Excel Worksheet och Append Google Sheet.
- När allt fungerar, slå på arbetsflödet till Active för löpande användning (eller ersätt Manual Start Trigger med en schemalagd trigger).
Vanliga fallgropar
- Inloggningsuppgifter för Google Sheets och Gmail kan löpa ut eller kräva specifika behörigheter. Om saker slutar fungera, kontrollera avsnittet Credentials i n8n och bekräfta först att Google-projektet har Sheets-, Drive- och Gmail-API:er aktiverade.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiden. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Microsoft Excel 365-tillägg misslyckas ofta för att Microsoft Graph-scope inte beviljats korrekt. Kontrollera appregistreringens behörigheter i Azure igen och säkerställ att administratörssamtycke har givits.
Vanliga frågor
Cirka 45 minuter om dina Google- och Microsoft-inloggningsuppgifter är klara.
Nej. Du uppdaterar främst mål-URL:en och kopplar inloggningsuppgifter. Den enda ”tekniska” delen är att justera HTML-extraktionen om sidans struktur ändras.
Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du bör också ta hänsyn till eventuella användningsbegränsningar eller betalnivåer för Microsoft 365 och Google Workspace.
Två alternativ: n8n Cloud (hanterat, enklast att sätta upp) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärd och klarar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är huvudskälet att använda det. Uppdatera URL:en i ”Retrieve Web Page” och justera sedan HTML-tolkningen i ”Parse Book List” och ”Parse Book Details” så att den matchar den nya sidstrukturen. Vanliga justeringar är att ändra vilka fält du extraherar (titel, pris, betyg), lägga till ett kategorifilter före sorteringen eller byta sorteringsordning så att rapporten lyfter de största prisfallen.
Oftast handlar det om OAuth-scope eller en utgången token. Anslut Google-inloggningen igen inne i n8n och bekräfta sedan att Google Cloud-projektet har Google Sheets API och Google Drive API aktiverade. Kontrollera också att målarket är åtkomligt för det anslutna Google-kontot, eftersom behörighetsfel kan se ut som ”slumpmässiga” fel.
Hundratals per körning är normalt, men om du går upp i tusental kan du behöva batchning och långsammare förfrågningar för att undvika rate limits.
Ofta, ja, eftersom scraping och HTML-tolkning brukar kräva mer kontroll än ett enkelt ”trigger → action”-flöde. n8n hanterar förgreningar, sortering, filgenerering och loggning till flera mål på ett ställe, vilket ger färre sköra överlämningar. Det är också bättre för batchning, så att du kan vara schyst mot sajten du skrapar och undvika att bli blockerad. Zapier eller Make kan fortfarande funka om du bara mejlar en fil eller lägger till en enda rad, men när du loopar igenom poster brukar n8n kännas mindre begränsande. Om du vill ha en second opinion om vilket verktyg som passar din setup, Prata med en automationsexpert.
När detta väl är på plats blir din ”skrapa + städa + skicka + logga”-rutin ett knapptryck (eller en schemalagd körning). Ärligt talat är det bästa att få tillbaka den mentala bandbredden.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.