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 + Pinecone: AI-klara webbsidor snabbt

Rickard Andersson Partner, Nodenordic.se

Att kopiera webbsidor till ett dokument, städa texten och sedan försöka göra den ”AI-klar” är den typen av jobb som i tysthet förstör din vecka. Det går långsamt. Det blir inkonsekvent. Och i samma stund som en sajt lägger på ens ett grundläggande botskydd går hela din pipeline sönder.

ML-ingenjörer känner av det här när träningsdata blir ett aldrig sinande städprojekt. Startupgrundare stöter på det när deras RAG-app behövde färska sidor redan igår. Och datafolk som stöttar intern sök hamnar mitt emellan. Den här Bright Data Pinecone-automationen gör röriga sidor till korrekt formaterade, sökbara vektorer utan att du behöver passa den.

Nedan ser du hur workflowet samlar in svåråtkomliga sidor, extraherar strukturerade fält med en AI-agent, delar upp och skapar embeddings av innehållet och lagrar det i Pinecone så att din app kan hämta det senare.

Så fungerar den här automationen

Hela n8n-workflowet, från trigger till slutligt resultat:

n8n Workflow Template: Bright Data + Pinecone: AI-klara webbsidor snabbt

Problemet: webbdata är rörig, blockerad och svår att återanvända

Om du bygger något som drivs av LLM:er lär du dig snabbt en irriterande sanning: att få tag på datan är ofta svårare än att använda modellen. Sidor laddar olika beroende på region, HTML är full av brus, och ”copy/paste till ett kalkylark” kollapsar så fort du behöver mer än en handfull URL:er. Sedan dyker antibot-åtgärder upp, din scraper returnerar delvis innehåll och någon måste manuellt lista ut vad som ändrats. Under tiden glider dina embeddings, din dataset blir gammal och teamet bråkar om vilken version som är ”den riktiga”.

Friktionen byggs på. Här är var det går snett i praktiken.

  • Scraping misslyckas på skyddade sajter, så din dataset blir snedvriden mot enkla sidor.
  • Råa sidor är inkonsekventa, vilket gör att dina extraktionsprompter producerar inkonsekvent JSON.
  • Utan en repeterbar pipeline tar uppdateringar timmar och händer oftast inte förrän något brinner.
  • Team slutar med att lagra textblobbar utan strukturerad metadata, så semantisk sök kan inte filtrera bra senare.

Lösningen: samla in, rensa, extrahera och vektorisera automatiskt

Det här workflowet automatiserar hela vägen från ”här är en URL” till ”det här innehållet är sökbart i Pinecone”. Det börjar med att ta en eller flera mål-URL:er som du definierar i n8n och hämtar sedan sidan via Bright Datas Web Unlocker så att vanliga botblockeringar inte stoppar dig. Därefter använder workflowet LLM-kedjor plus en AI-agent för att extrahera de fält du bryr dig om och formatera dem till strukturerad JSON, i stället för att dumpa råtext i lagring. Sedan laddar det innehållet som dokument, delar upp långa sidor i rimliga chunkar, skapar embeddings (med Google Gemini-embeddings i den här versionen) och upsertar vektorerna till ett Pinecone-index tillsammans med metadata som du kan filtrera på senare. Det kan också posta strukturerade payloads till en webhook-endpoint, så att nedströms system (en dataset-tracker, ett internt verktyg, en QA-kö) blir notifierade automatiskt.

Workflowet startas med en manuell körning i n8n, hämtar webbinnehåll via Bright Data Web Unlocker, låter AI sköta extraktion och rensning, och sedan chunkas, embeddas och lagras texten i Pinecone så att din RAG- eller träningspipeline kan fråga mot den direkt.

Vad du får: automation vs. resultat

Exempel: så här ser det ut

Säg att du behöver uppdatera 50 skyddade sidor varje vecka för en nischad kunskapsbas. Manuellt är det ofta runt 10 minuter per sida för att hämta innehåll, rensa det, extrahera fält och förbereda för embeddings, så du hamnar på ungefär 8 timmar. Med det här workflowet startar du det i n8n på en minut eller två, låter Bright Data samla in sidorna och låter AI-agenten formatera och chunka allt medan embeddings och Pinecone-upserts kör i bakgrunden. Du granskar fortfarande edge cases, men själva ”pipeline-jobbet” försvinner i stort sett.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Bright Data Web Unlocker för att tillförlitligt hämta skyddade webbsidor.
  • Pinecone för att lagra och fråga mot vektor-embeddings.
  • Google Gemini API-nyckel (hämta den från Google AI Studio eller Vertex AI).

Kunskapsnivå: Mellan. Du kopplar in credentials, klistrar in API-nycklar och justerar prompter/fält för din domän.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuterskonsultation).

Så fungerar det

En manuell körning startar allt. Du startar workflowet i n8n när du vill processa en batch (eller schemalägger det senare). Första steget sätter dina mål-URL:er och webhook-destinationen som används för notifieringar.

Sidan hämtas via Bright Data. n8n gör en HTTP-request till Bright Datas Web Unlocker-endpoint, vilket hjälper dig att hämta sidor som normalt blockerar grundläggande scrapers. Workflowet skickar sedan råinnehållet vidare för AI-bearbetning.

AI gör rörigt innehåll till strukturerad data. En kedja för informationsextraktion och en ”agent core” använder prompter som du kan redigera för att plocka ut de fält du bryr dig om (tänk titlar, entiteter, sammanfattningar, vanliga frågor, produktspecifikationer, författarnamn). En läsare för strukturerad output håller JSON-formatet konsekvent, så att nedströms system inte får skräp.

Chunkar och embeddings skapas och lagras sedan i Pinecone. Innehållet laddas som dokument, delas upp i mindre delar med en rekursiv text split-ter, embeddas med en Gemini-embeddingmodell och skrivs in i ditt Pinecone-vektorindex med metadata för filtrering och spårbarhet.

Du kan enkelt ändra extraktionsfält och metadata så att det matchar din domän (till exempel juridiska klausuler vs. produktfunktioner) utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: konfigurera den manuella triggern

Konfigurera arbetsflödets manuella startpunkt så att ni kan köra och testa vid behov.

  1. Lägg till noden Manual Launch Trigger som arbetsflödets trigger.
  2. Lämna parametrarna för Manual Launch Trigger tomma (standardbeteende för manuell trigger).

Steg 2: definiera käll-URL:er och webhook-hooks

Ställ in indata-URL:en för scraping och webhook-destinationen för utdata.

  1. I Assign URLs and Hooks lägger ni till två fält i Assignments:
  2. Ställ in url till https://news.ycombinator.com?product=unlocker&method=api.
  3. Ställ in webhook_url till https://webhook.site/[YOUR_ID].

Assign URLs and Hooks skickar utdata till External API Request, Post Structured Payload och Post Agent Response parallellt.

Tips: Ersätt [YOUR_ID] med ett riktigt webhook.site-ID för att fånga svar under testning.

Steg 3: konfigurera External API Request och dataformatering

Hämta rå HTML från Bright Data och formatera svaret till strukturerad JSON.

  1. Öppna External API Request och ställ in URL till https://api.brightdata.com/request.
  2. Ställ in Method till POST, aktivera Send Body och aktivera Send Headers.
  3. I Body Parameters lägger ni till:
  4. zone = web_unlocker1
  5. url = {{ $json.url }}
  6. format = raw
  7. Credential Required: Anslut era httpHeaderAuth-inloggningsuppgifter i External API Request.
  8. I Format Structured JSON ställer ni in Text till =Format the below response and produce a textual data. Output the response as per the below JSON schema. Here's the input: {{ $json.data }} Here's the JSON schema: [{ "rank": { "type": "integer" }, "title": { "type": "string" }, "site": { "type": "string" }, "points": { "type": "integer" }, "user": { "type": "string" }, "age": { "type": "string" }, "comments": { "type": "string" } }].
  9. Säkerställ att Gemini Chat Model Gamma är ansluten som språkmodell för Format Structured JSON.

External API Request skickar utdata både till Format Structured JSON och Extract Info and Format parallellt.

⚠️ Vanlig fallgrop: Om External API Request misslyckas, verifiera er Bright Data-zone och era header auth-värden.

Steg 4: konfigurera informationsutvinning och intelligent agentbearbetning

Extrahera strukturerat innehåll och formatera det med agenten och output parser.

  1. I Extract Info and Format ställer ni in Text till ={{ $json.data }}.
  2. Behåll System Prompt Template som konfigurerad för att extrahera HTML-innehåll.
  3. Verifiera att Attributes inkluderar search_result med beskrivningen Search Response.
  4. Säkerställ att Gemini Chat Model Alpha är ansluten som språkmodell för Extract Info and Format.
  5. I Intelligent Agent Core ställer ni in Text till =Format the below search result {{ $json.output.search_result }}.
  6. Aktivera Has Output Parser i Intelligent Agent Core (redan satt till true).
  7. Bekräfta att Structured Output Reader är ansluten som output parser för Intelligent Agent Core.
  8. Säkerställ att Gemini Chat Model Beta är ansluten som språkmodell för Intelligent Agent Core.

Structured Output Reader är en AI-undernod; inloggningsuppgifter ska läggas till i den överordnade nodens anslutna modell (använd Gemini Chat Model Beta med googlePalmApi).

Steg 5: konfigurera vektorlager och embeddings-pipeline

Ladda det extraherade innehållet, dela upp det, skapa embeddings och lagra det i Pinecone.

  1. I Standard Data Loader ställer ni in JSON Data till ={{ $('Extract Info and Format').item.json.output.search_result }} och JSON Mode till expressionData.
  2. Anslut Recursive Text Splitter till Standard Data Loader via AI Text Splitter-ingången.
  3. Ställ in Pinecone Vector Index till Mode insert och välj index hacker-news.
  4. Credential Required: Anslut era pineconeApi-inloggningsuppgifter i Pinecone Vector Index.
  5. Anslut Gemini Embedding Creator till Pinecone Vector Index via AI Embedding-ingången.
  6. Credential Required: Anslut era googlePalmApi-inloggningsuppgifter i Gemini Embedding Creator.

Gemini Embedding Creator är en AI-undernod; inloggningsuppgifter ska läggas till i den överordnade nodens anslutna modell (använd Gemini Embedding Creator med googlePalmApi).

Steg 6: konfigurera webhook-utdata

Skicka strukturerade payloads och agentutdata till er webhook-destination.

  1. I Post Structured Payload ställer ni in URL till ={{ $json.webhook_url }}.
  2. Ställ in Body Parameters så att den inkluderar response med värdet ={{ $json.text }}.
  3. I Post Agent Response ställer ni in URL till ={{ $json.webhook_url }}.
  4. Ställ in Body Parameters så att den inkluderar response med värdet ={{ $json.output }}.

Intelligent Agent Core skickar utdata både till Pinecone Vector Index och Post Agent Response parallellt.

Steg 7: testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta dataflödet och aktivera sedan arbetsflödet.

  1. Klicka på Execute Workflow för att köra Manual Launch Trigger.
  2. Verifiera att External API Request returnerar data och att båda parallella grenarna körs.
  3. Kontrollera er webhook-endpoint för att bekräfta payloads från Post Structured Payload och Post Agent Response.
  4. Bekräfta att Pinecone Vector Index tar emot inbäddade poster.
  5. När det fungerar, växla arbetsflödet till Active för produktionsbruk.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Credentials för Bright Data Web Unlocker kan gå ut eller kräva specifika behörigheter. Om det slutar fungera: kontrollera din n8n-post under Credentials för Header Authentication och bekräfta först Bearer-token.
  • Om du använder Wait-noder eller extern rendering varierar processing-tider. Öka väntetiden om nedströms noder fallerar på tomma svar.
  • Pinecone-upserts kan ”lyckas” med fel metadata om dina JSON-nycklar glider. Håll extraktionsprompten stabil och validera resultaten från läsaren för strukturerad output innan indexering.

Vanliga frågor

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

Cirka en timme om dina Bright Data- och Pinecone-konton är klara.

Behöver jag kunna koda för att automatisera Bright Data Pinecone-datainsamling?

Ingen kodning krävs. Du klistrar främst in API-nycklar, mappar några fält och justerar extraktionsprompten.

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

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 och dina kostnader för embeddings/vektordatabas.

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

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

Kan jag anpassa det här Bright Data Pinecone-workflowet för mitt eget schema och metadata?

Ja, och det bör du. Du kan uppdatera URL-indatan i ”Assign URLs and Hooks” och sedan skräddarsy fälten som extraheras i ”Extract Info and Format” samt JSON-strukturen som tvingas fram av läsaren för strukturerad output. Vanliga anpassningar är att lägga till domäntaggar för filtrering i Pinecone, spara käll-URL och crawl-datum som metadata och byta embeddingmodell om du föredrar OpenAI eller ett self-hosted-alternativ.

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

Oftast är det en ogiltig eller utgången Bearer-token i n8n-credentials. Bekräfta att din Web Unlocker-zone är aktiv i Bright Data, generera sedan en ny token och uppdatera värdet för Header Authentication. Om requesten fortfarande misslyckas: kontrollera om målsajten kräver en annan geolokalisering eller headers, eftersom Web Unlocker-inställningar kan spela roll. Rate limits kan också dyka upp när du kör stora batchar.

Hur många sidor kan den här Bright Data Pinecone-automationen hantera?

Den kan hantera hundratals till tusentals sidor per månad för de flesta små team, och den skalar vidare om du self-hostar n8n och dimensionerar servern därefter.

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

Ofta, ja, eftersom den här pipelinen behöver förgreningar, strukturerade outputs och AI-kedje-liknande bearbetning som är klumpig (och dyr) i enklare verktyg. n8n ger dig också möjligheten att self-hosta, vilket spelar roll när du börjar köra många exekveringar. Zapier eller Make kan fortfarande fungera för lätt scraping och enkel routing, men de är inte byggda för workflows som ”gör skyddade sidor till poster i en vektordatabas”. Om regelefterlevnad är viktigt kan self-hosting vara avgörande eftersom du kontrollerar var data flödar. Prata med en automationsexpert om du vill ha hjälp att välja.

När det här väl rullar slutar ”hämta sidor, rensa dem och göra dem sökbara” att vara ett projekt. Det blir bara infrastruktur, och ärligt talat är det precis så det ska kännas.

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

Launch login modal Launch register modal