Nya LoopNet-annonser dyker upp, och på något sätt får du ändå reda på det sent. Inte för att du gör ett dåligt jobb, utan för att manuell bevakning är ett slit: öppna flikar, kopiera länkar, klistra in fält, upprepa.
Kommersiella mäklare märker det när utbudet rör sig snabbt. En fastighetsinvesterare märker det när en affär försvinner innan du ens hinner göra kalkylen. Och marknadsanalysteam? Ni fastnar i ”dataregistrering” i stället för analys. Den här LoopNet–Sheets-automationen löser det.
Du sätter upp en veckovis (eller daglig) scraper som hämtar nya annonser från LoopNet, tolkar de viktiga fälten och lägger till korrekt formaterade rader i Google Sheets. Ingen copy-paste. Inga missade objekt. Bara en enda källa att lita på som du faktiskt kan jobba utifrån.
Så fungerar automationen
Här är hela arbetsflödet du kommer att sätta upp:
n8n Workflow Template: LoopNet till Google Sheets, logga annonser automatiskt
flowchart LR
subgraph sg0["Weekly Market Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Weekly Market Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:cog", form: "rounded", label: "Crawl", pos: "b", h: 48 }
n2@{ icon: "mdi:database", form: "rounded", label: "Append or update row in sheet", pos: "b", h: 48 }
n3["<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/code.svg' width='40' height='40' /></div><br/>Parse Listings"]
n1 --> n3
n3 --> n2
n0 --> n1
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 n2 database
class n3 code
classDef customIcon fill:none,stroke:none
class n3 customIcon
Varför det här är viktigt: att bevaka annonser ska inte vara en daglig syssla
Om du bevakar en marknad (eller flera delmarknader) blir ”kolla LoopNet” en märklig, ständig skatt på din uppmärksamhet. Du öppnar samma sökningar, skummar rubriker du redan sett, klickar in på annonser och kopierar sedan en länk och några detaljer till ett kalkylark ”för att hålla koll”. Det låter litet tills det är fredag och du har bränt ett par timmar i 5-minutersbitar. Ännu värre: du blir inkonsekvent. Ibland fångar du upp yta och byggår, ibland inte – och plötsligt är ditt ark rörigt precis när du behöver det som mest.
Friktionen byggs på. Här är var det faller isär i verkligheten.
- En person kan bara bevaka ett visst antal LoopNet-sökningar innan processen börjar glida.
- Manuell kopiering ger småfel (fel yta, saknad länk), och de felen dyker upp senare i kalkylarbetet.
- Utan en konsekvent logg kan du inte snabbt svara på enkla frågor som ”Hur många nya annonser kom in den här veckan?”.
- Om du vill dela pipen internt skalar inte skärmdumpar och vidarebefordrade URL:er.
Det du bygger: LoopNet-annonser scrapade och tillagda i Sheets
Det här arbetsflödet körs enligt schema, crawlar en vald LoopNet-resultatsida och omvandlar de senaste annonserna till strukturerade rader i Google Sheets. Det börjar med att n8n startar körningen automatiskt (standard är veckovis, men du kan ändra). Sedan hämtar Scrapeless annonsinnehållet från LoopNet och returnerar det som strukturerad Markdown. Ett litet JavaScript-steg plockar ut fälten du faktiskt bryr dig om, som objekttitel, annonslänk, yta och byggår. Till sist lägger n8n till varje annons som en ny rad i ditt Google Sheet så att du får en strukturerad logg du kan sortera, filtrera, dela och bygga rapporter från.
Arbetsflödet startar på ett schema i n8n. Därifrån crawlar Scrapeless din LoopNet-URL och returnerar det råa annonsinnehållet. Kodsteget tolkar och plattar ut innehållet till ”en annons = en rad”, och Google Sheets lagrar det permanent.
Det du bygger
| Det som automatiseras | Det du uppnår |
|---|---|
|
|
Förväntade resultat
Säg att du bevakar 3 LoopNet-sökningar (tre delmarknader, eller till salu vs uthyrning). Manuellt kan du lägga cirka 15 minuter per sökning på att skumma, klicka och klistra in detaljer – alltså ungefär 45 minuter per körning. Med det här arbetsflödet lägger du kanske 5 minuter en gång på att bekräfta dina mål-URL:er och kolumner i arket, sedan är den veckovisa körningen helt hands-off. Själva crawlningen och tolkningen tar fortfarande lite tid i bakgrunden, men du behöver inte sitta och vakta den, och ditt ark uppdateras automatiskt.
Innan du börjar
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Scrapeless för att crawla LoopNet-annonser pålitligt
- Google Sheets för att lagra och granska annonssrader
- Scrapeless API-nyckel (Scrapeless Dashboard → Settings → API Key Management)
Svårighetsgrad: Nybörjare. Du kopplar upp behörigheter, klistrar in en mål-URL och mappar några fält till ditt ark.
Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).
Steg för steg
Ett schema triggar körningen. n8n startar det här arbetsflödet varje vecka som standard, så du är inte beroende av att någon kommer ihåg ”marknadskoll-dagen”. Vill du övervaka snabbare kan du byta till dagligen eller var 6:e timme.
Scrapeless crawlar din LoopNet-URL. Steget Web Crawl Fetch laddar resultatsidan och returnerar annonsinnehållet i strukturerad Markdown, som är mycket enklare att tolka än rå web-HTML.
Ett tolkningssteg gör om innehåll till fält. JavaScript-kodnoden använder mönstermatchning (regex) för att plocka ut saker som titel, länk, yta och byggår. Sedan ”plattar” den ut datan så att varje annons blir en enskild post.
Google Sheets blir din loggbok. Sista steget lägger till de strukturerade annons-posternas rader i vald flik i ditt Sheet och skapar en löpande historik som du kan filtrera, avduplicera eller lämna över till någon annan.
Du kan enkelt ändra mål-URL:en i LoopNet för att täcka nya städer, fastighetstyper eller ”uthyrning” vs ”till salu”-sökningar utifrån dina behov. Se hela implementationsguiden nedan för alternativ för anpassning.
Steg-för-steg-guide för implementering
Steg 1: Konfigurera schedule-triggern
Ställ in arbetsflödet så att det körs enligt ett veckoschema som startar scraping-processen.
- Lägg till och öppna Scheduled Market Kickoff.
- Ställ in intervallet för Rule till veckovis med Trigger At Day satt till
1och Trigger At Hour satt till9. - Bekräfta att noden är ansluten till Web Crawl Fetch för att starta exekveringsflödet.
Steg 2: Anslut Scrapeless och konfigurera crawlen
Konfigurera webbcrawlern som hämtar listningssidor från LoopNet.
- Lägg till och öppna Web Crawl Fetch.
- Referens krävs: Anslut era scrapelessApi-referenser.
- Ställ in Resource till
crawleroch Operation tillcrawl. - Ställ in URL till
https://www.loopnet.com/search/commercial-real-estate/los-angeles-ca/for-lease/. - Ställ in Limit Crawl Pages till
2.
Steg 3: Sätt upp logiken för listningsparsern
Tolka crawlerns markdown-utdata och extrahera listningsdetaljer som titel, länk, storlek, byggår och bild.
- Lägg till och öppna Listing Parser Logic.
- Klistra in den angivna JavaScript-koden i JavaScript Code exakt som den visas för att extrahera listningsfält.
- Säkerställ att Listing Parser Logic är ansluten till Update Sheet Records.
Tips: Parsern returnerar ett felobjekt när inga listningar matchar. Använd detta utdata för att felsöka crawlerns markdown om ert ark förblir tomt.
Steg 4: Konfigurera utdata till Google Sheets
Lägg till eller uppdatera listningsposter i ert målark.
- Lägg till och öppna Update Sheet Records.
- Referens krävs: Anslut era Google Sheets-referenser.
- Ställ in Operation till
appendOrUpdate. - Ställ in Document ID till
[YOUR_ID]och välj kalkylarket med namnetReal Estate Market Report. - Ställ in Sheet Name till
Sheet1(gid0). - Mappa kolumnerna med uttryck: Link →
{{ $json.link }}, Size →{{ $json.size }}, Image →{{ $json.image }}, Title →{{ $json.title }}, YearBuilt →{{ $json.yearBuilt }}. - Ställ in Matching Columns till
Titleför att uppdatera befintliga rader när titlar matchar.
⚠️ Vanlig fallgrop: Om rubrikerna i Google Sheet inte matchar exakt Title, Link, Size, YearBuilt och Image kan rader misslyckas med att uppdateras eller skapa dubbletter.
Steg 5: Testa och aktivera ert arbetsflöde
Kör ett manuellt test för att bekräfta att crawl, parsning och uppdateringar i arket fungerar från början till slut.
- Klicka på Execute Workflow för att köra arbetsflödet manuellt.
- Verifiera att Web Crawl Fetch returnerar crawl-resultat och att Listing Parser Logic ger strukturerade listningsfält.
- Kontrollera Update Sheet Records för att bekräfta att rader läggs till eller uppdateras i
Sheet1. - När det fungerar, växla arbetsflödet till Active för veckovis automatisering.
Tips för felsökning
- Scrapeless-behörigheter kan gå ut eller kräva specifika rättigheter. Om det skapar fel, kontrollera först status på din API-nyckel i Scrapeless Dashboard och din credential-post i n8n.
- Om du använder Wait-noder eller extern rendering varierar processingtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Google Sheets fallerar ofta av enkla skäl: fel kalkylarks-ID, fliknamnet har ändrats, eller det kopplade Google-kontot har tappat åtkomst. Bekräfta delningsbehörigheter och exakt ark/flik i Google Sheets-noden.
Snabba svar
Cirka 30 minuter om dina konton är redo.
Nej. Du importerar arbetsflödet, kopplar Scrapeless och Google Sheets och justerar sedan LoopNet-URL:en och kolumnerna i arket.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna in Scrapeless API-kostnader baserat på hur ofta du crawlar och hur många sidor du scrapar.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och klarar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, ganska enkelt. De flesta ändringar görs i noden Web Crawl Fetch (byt LoopNet-URL) och kodnoden Listing Parser Logic (justera vilka fält du plockar ut). Vanliga anpassningar är att scrapa flera städer, dela upp till salu vs uthyrning i olika flikar och lägga till en snabb avdupliceringskontroll så att samma annons inte läggs till två gånger.
Oftast är det ett API-nyckelproblem. Skapa en ny Scrapeless API-nyckel i Scrapeless Dashboard och uppdatera credential i n8n, kör sedan arbetsflödet igen. Om nyckeln är okej, kontrollera att din plan tillåter den crawlvolym du triggar och att mål-URL:en går att nå. Värt att kolla också: ibland ändrar LoopNet sidstruktur, och då behöver din tolkningslogik en liten uppdatering även om Scrapeless fungerar.
För de flesta team fungerar det utmärkt med dussintals nya annonser per körning.
Ofta, ja, eftersom det är vid scraping och tolkning som ”enkla zaps” brukar falla isär. Zapier och Make är bra för raka app-till-app-händelser, men LoopNet ger dig ingen ren ”ny annons”-trigger, så du får bygga på scrapingverktyg och workarounds. n8n hanterar mellanlogiken snyggt, och om du kör egen hosting betalar du inte per liten delsteg. Samtidigt: om du bara behöver en lätt notifiering och du redan har en datakälla som matar dig med annonser kan Zapier eller Make gå snabbare att få igång. Prata med en automationsexpert om du vill ha hjälp att välja.
När det här väl rullar blir din ”marknadskoll” ett ark du kan lita på. Det är ärligt talat skillnaden mellan att reagera för sent och att agera medan alla andra fortfarande letar.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.