Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Bright Data + Google Sheets: rensad ärendedata

Rickard Andersson Partner, Nodenordic.se

Att kopiera detaljer från rättsfall ur stökiga HTML-sidor är den typen av jobb som ser ”snabbt” ut tills du har bränt en hel eftermiddag och fortfarande inte litar på ditt kalkylark.

Juridiska forskare känner den här smärtan först. Men processupportteam och complianceanalytiker stöter på samma vägg, bara med större högar. Den här Bright Data Sheets-automationen gör ostrukturerade målsidor till felfria rader som du kan sortera, filtrera och återanvända.

Du får se vad arbetsflödet gör, vad du behöver för att köra det och hur det tar bort repetitiva moment utan att tappa detaljerna som spelar roll.

Så fungerar den här automationen

Hela n8n-arbetsflödet, från trigger till slutligt resultat:

n8n Workflow Template: Bright Data + Google Sheets: rensad ärendedata

Problemet: målsidor är läsbara för människor, smärtsamma för kalkylark

Domstolssajter älskar semistrukturerade sidor. Rubriker skiljer sig mellan jurisdiktioner, tabeller kapslas, och nyckelfält är uppdelade över flera sektioner. Så du gör den manuella dansen: öppnar ett mål, letar upp diarienumret, scrollar efter parter, hämtar beslutsdatum, kopierar sammanfattningen, klistrar in den någonstans, och inser sedan att du missade domstolens namn och får gå tillbaka. Multiplicera det med 30 mål för ett PM, eller 300 för en datamängd, så blir det ett slit. Ännu värre: det är lätt att läsa av ett fält fel eller klistra in i fel kolumn, vilket i tysthet saboterar din analys senare.

Friktionen bygger på. Här är var det faller isär.

  • Olika jurisdiktioner placerar samma ”grundläggande” målfakta på helt olika ställen på sidan.
  • Manuell kopiera/klistra in skapar subtila fel, som omkastade datum eller saknade partnamn, som du ofta upptäcker först efter att rapporten är byggd.
  • Team tappar timmar på att rensa samma data igen, eftersom ingen litar på förra månadens extrahering.
  • Även duktiga jurister och researchers bränner fokus på formatering i stället för att hitta mönster mellan mål.

Lösningen: Bright Data-skrapning + AI-extrahering till strukturerade fält

Det här arbetsflödet tar en lista med URL:er till rättsfall, hämtar rå HTML på ett tillförlitligt sätt med Bright Data och använder sedan ett AI-steg för att omvandla den stökiga sidan till strukturerad information du faktiskt kan använda. Det börjar med att tilldela en eller flera URL:er som ”case source”, skrapar sedan sidan som HTML via Bright Datas MCP-verktyg (så du slipper kämpa med grundläggande blockeringar eller trasiga förfrågningar). Därefter identifierar en LLM-baserad extraherare det du bryr dig om och konverterar innehållet till läsbar text plus specifika fält. Efter det loopar arbetsflödet igenom fler mållänkar i batchar, upprepar processen konsekvent och skickar det extraherade resultatet till en webhook för vidare lagring. Det sparar också en filkopia för arkivering, vilket är praktiskt när du behöver kunna visa underlag i efterhand.

Enkelt uttryckt: du anger mållänkarna, Bright Data hämtar sidorna, AI gör dem till strukturerade målposter, och n8n skickar posterna till ditt system (inklusive Google Sheets) samtidigt som en arkivfil sparas i bakgrunden.

Det du får: automation kontra resultat

Exempel: så här ser det ut i praktiken

Säg att du behöver 50 mål för ett researchrace. Manuellt är det vanligt att lägga cirka 10 minuter per mål för att hitta fält, kopiera, rensa formatering och klistra in i Google Sheets, vilket är ungefär 8 timmar monotont arbete. Med det här arbetsflödet lägger du in URL-listan en gång, låter Bright Data hämta sidorna, och AI-extraheringen kör i bakgrunden medan n8n loopar igenom dem. Även om du avsätter cirka 30 minuter för att sätta upp körningen plus lite väntetid har du i praktiken tagit tillbaka större delen av en arbetsdag.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
  • Bright Data för tillförlitlig skrapning av målsidor.
  • Google Sheets för att lagra felfria, sökbara rader.
  • Google Gemini API-nyckel (hämta den från Google AI Studio).

Kunskapsnivå: Medel. Du kopplar upp autentisering och är bekväm med att redigera prompts och fältmappningar.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

Du startar körningen med en lista av mål-URL:er. I arbetsflödet startar en manuell trigger, och sedan tilldelar ett ”set”-steg de initiala käll-URL:erna till mål som du vill extrahera.

Bright Data hämtar rå HTML. Arbetsflödet använder Bright Datas MCP-skrapläge för att hämta varje sida som HTML, vilket är betydligt mer pålitligt än att försöka tolka det som din webbläsare råkade rendera.

AI gör om sidan till strukturerad måldata. En LLM-extraheringskedja gör om HTML till läsbar text och plockar ut fälten du bryr dig om (domstol, jurisdiktion, målnummer, beslutsdatum, sammanfattning och liknande). Ett steg för strukturerad parsning hjälper till att hålla output konsekvent från mål till mål.

Arbetsflödet skickar ut posten och fortsätter loopa. Varje extraherat mål skickas till en webhook (som kan mata Google Sheets eller din databas), en filkopia sparas för arkiv, och sedan bearbetar en batch-loop nästa mål efter en kort väntan.

Du kan enkelt ändra vilka fält som extraheras så att de matchar dina kolumner i arket utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: Konfigurera den manuella triggern

Starta arbetsflödet med en manuell trigger så att ni kan testa hela pipelinen vid behov.

  1. Lägg till noden Manual Run Starter som din trigger.
  2. Lämna alla inställningar på standardvärden för manuell körning.

Steg 2: Anslut MCP och definiera URL:er för källor till ärenden

Dessa noder etablerar åtkomst till MCP-verktyget och definierar era initiala inställningar för ärendesökning och webhook.

  1. Öppna Retrieve MCP Tool List och anslut MCP-uppgifter. Credential Required: Anslut era mcpClientApi-uppgifter.
  2. I Assign Case Source URLs ställer ni in följande tilldelningar:
    • url till https://www.courtlistener.com/?q=IT%20laws%20for%20cyber%20crime&type=o&order_by=dateFiled%20desc&stat_Published=on
    • webhook_url till https://webhook.site/[YOUR_ID]
    • base_url till https://www.courtlistener.com
  3. Konfigurera Primary MCP Scrape med:
    • toolName inställt på scrape_as_html
    • operation inställt på executeTool
    • toolParameters inställt på ={ "url": "{{ $json.url }}" }
  4. Anslut MCP-uppgifter i Primary MCP Scrape. Credential Required: Anslut era mcpClientApi-uppgifter.
⚠️ Vanlig fallgrop: Ersätt https://webhook.site/[YOUR_ID] med er faktiska webhook-endpoint, annars skickas era uppdateringar ingenstans.

Steg 3: Sätt upp AI-extrahering för ärendelistor

Det här steget extraherar strukturerade ärendeposter från den initiala HTML-skrapningen med Gemini och en parser för strukturerad output.

  1. Öppna Case Data Extractor och ställ in text till =Extract the content in a structured format. Here's the content : {{ $json.result.content[0].text }}.
  2. Säkerställ att Case Data Extractor har hasOutputParser aktiverat.
  3. I Structured Parser ställer ni in jsonSchemaExample till [{ "Id": "", "Link" : "", "Title": "United States v. IXCOLGONZALEZ"}].
  4. Konfigurera Gemini Chat Model - Cases med modelName inställt på models/gemini-2.0-flash-exp.
  5. Anslut Google Gemini-uppgifter i Gemini Chat Model - Cases. Credential Required: Anslut era googlePalmApi-uppgifter.

Obs: Structured Parser är en AI-verktygsundernod; uppgifter ska läggas till i den överordnade Case Data Extractor via Gemini Chat Model - Cases, inte direkt i Structured Parser.

Steg 4: Iterera och skrapa individuella ärendesidor

När ni har ärendelistan loopar arbetsflödet igenom varje post, begränsar anropstakten och skrapar detaljerad HTML.

  1. I Assemble Case Collection behåller ni jsCode som return $input.first().json.output för att skicka de extraherade ärendena vidare.
  2. Använd Iterate Case Records för att dela upp ärenden i batchar för looping.
  3. Ställ in Delay Gate att vänta med amount inställt på 10 för att strypa förfrågningar.
  4. Konfigurera Loop MCP Scrape med toolParameters inställt på ={ "url": "{{ $('Assign Case Source URLs').item.json.base_url }}/{{ $json.Link }}" } .
  5. Anslut MCP-uppgifter i Loop MCP Scrape. Credential Required: Anslut era mcpClientApi-uppgifter.
Om ni slår i rate limits, öka Delay Gate amount över 10.

Steg 5: Konvertera HTML, skicka webhooks och spara filer

Konvertera skrapad HTML till text och kör sedan två åtgärder parallellt: skicka en webhook-uppdatering och lagra en lokal JSON-fil.

  1. I HTML to Text Conversion ställer ni in text till =Extract html to textual content {{ $json.result.content[0].text }}.
  2. Konfigurera Gemini Chat Model - HTML med modelName inställt på models/gemini-2.0-flash-exp och anslut uppgifter. Credential Required: Anslut era googlePalmApi-uppgifter.
  3. HTML to Text Conversion skickar output parallellt till både Build Binary Payload och Dispatch Webhook Update.
  4. I Dispatch Webhook Update ställer ni in:
    • url till ={{ $('Assign Case Source URLs').item.json.webhook_url }}
    • contentType till multipart-form-data
    • body-parametern case_content till ={{ $json.text }}
  5. I Build Binary Payload behåller ni functionCode som angivet för att skapa base64-kodad binärdata.
  6. I Persist Case File ställer ni in fileName till =d:\Case-{{ $('Iterate Case Records').item.json['Id'] }}.json och operation till write.
⚠️ Vanlig fallgrop: Sökvägen i Persist Case File använder en Windows-enhetsbokstav. Uppdatera sökvägen om er n8n-instans körs på Linux eller macOS.

Steg 6: Testa och aktivera ert arbetsflöde

Verifiera hela pipelinen innan ni aktiverar den för användning i produktion.

  1. Klicka på Execute Workflow och starta körningen från Manual Run Starter.
  2. Bekräfta att Primary MCP Scrape returnerar HTML och att Case Data Extractor ger en strukturerad lista.
  3. Verifiera att Dispatch Webhook Update tar emot en case_content-payload och att Persist Case File skriver en JSON-fil.
  4. När allt körs korrekt, växla arbetsflödet till Active för att använda det i produktion.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Bright Data-autentisering kan gå ut eller kräva specifika behörigheter. Om det börjar skapa fel, kontrollera först din Bright Data API-token och din proxy zone-konfiguration i Bright Data-dashboarden.
  • Om du använder Wait-noder eller extern rendering varierar processningstiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du att sitta och redigera output för alltid.

Vanliga frågor

Hur lång tid tar det att sätta upp den här Bright Data Sheets-automationen?

Cirka 45 minuter om du redan har Bright Data och Google konfigurerat.

Behöver jag kodkunskaper för att automatisera felfri måldata?

Ingen kodning krävs. Du kopplar mest ihop konton, klistrar in dina mål-URL:er och justerar extraktionsfälten så att de matchar dina kolumner i Google Sheets.

Är n8n gratis att använda för det här Bright Data Sheets-arbetsflödet?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också räkna in Bright Data-användning samt kostnader för Gemini API.

Var kan jag hosta n8n för att köra den här Bright Data Sheets-automationen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här Bright Data Sheets-arbetsflödet för andra målfält?

Ja, och det bör du. Du kan justera AI-extraktionsprompten i stegen ”Case Data Extractor” och ”HTML to Text Conversion” för att hämta fält som målnummer, kärande/svarande, hänvisningar, utfall och domare. Om du skriver till Google Sheets mappar du de fälten till exakt de kolumner du vill ha. Många team lägger också till ett maskningssteg före webhooken om känsliga uppgifter kan förekomma.

Varför misslyckas min Bright Data-anslutning i det här arbetsflödet?

Oftast är det ett problem med API-token eller att proxyzonen inte är konfigurerad på det sätt som MCP-skrapningen förväntar sig. Bekräfta att din Bright Data API_TOKEN är aktuell och att zonnamnet för Web Unlocker matchar det du konfigurerade för MCP. Om det bara misslyckas på vissa sidor kan du också stöta på sidspecifik blockering, så testa en annan mål-URL och jämför. Ärligt talat är felaktiga autentiseringsuppgifter den vanligaste orsaken.

Hur många mål kan den här Bright Data Sheets-automationen hantera?

Många – i praktiken begränsas du av din n8n-plan och hur snabbt målsajterna svarar.

Är den här Bright Data Sheets-automationen bättre än att använda Zapier eller Make?

För det här upplägget är n8n oftast ett bättre val eftersom det hanterar loopar, batchning och förgreningslogik snyggt utan att bli ett dyrt spindelnät av steg. Self-hosting spelar också roll här: om du extraherar hundratals mål blir prissättning ”per task” snabbt irriterande. Zapier eller Make kan ändå fungera om du bara behöver ett litet antal mål och vill ha det enklaste gränssnittet. Nackdelen är att kombinationen skrapning + strukturerad extrahering är svårare att hålla stabil i de verktygen. Prata med en automationsexpert om du vill ha en snabb rekommendation för exakt din volym och stack.

Felfri måldata är grunden för snabbare research och bättre beslut. Sätt upp detta en gång, så slutar ditt kalkylark att vara flaskhalsen.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal