Återförsäljarplatser ligger sällan samlade i en enda smidig databas. En tillverkare publicerar en ren katalog, en annan använder en interaktiv karta, en tredje kräver sökning på postnummer och en fjärde gömmer återförsäljaruppgifter bakom enskilda profilsidor.
När portföljen växer till hundratals webbplatser handlar jobbet inte längre om att “skrapa några adresser”. Den verkliga produkten är ett pålitligt huvudregister över återförsäljare som kan svara på affärsfrågor:
- Var expanderar eller krymper distributionen?
- Vilka marknader har luckor i täckningen?
- Vilka återförsäljare lades till, flyttades eller togs bort?
- Vilka platser erbjuder en viss produktlinje eller tjänst?
- Vilken CRM-ansvarig ska få en nyupptäckt återförsäljare?
- Hur förändras en konkurrents kanalavtryck över tid?
Den praktiska arkitekturen är enkel: hitta källorna, klassificera locator-mönster, extrahera till ett gemensamt schema, bevara källdata, lösa dubbletter, upptäcka meningsfulla förändringar och skicka dem vidare till rätt team.
Målsystemet
Ett produktionsflöde för spårning av återförsäljare har sex lager:
- Källregister: Webbplatserna, locator-URL:erna, länderna, ägarna, mönstren, schemana och senaste körstatus.
- Upptäckt: Ett repeterbart sätt att hitta katalogsidor, sitemaps, API:er, sökformulär och detalj-URL:er.
- Extraktion: Webbläsar- eller API-jobb som samlar samma semantiska fält över olika layouter.
- Normalisering: Konsekventa adresser, telefonnummer, länder, kategorier och statusetiketter utan att de råa värdena förstörs.
- Entitets- och förändringslager: Kanoniska återförsäljaridentiteter, varumärkesmedlemskap, tidsstämplar för första och senaste observation samt bekräftade tillägg eller borttagningar.
- Aktivering: Aviseringar, CRM-routning, täckningsanalys, dashboards och granskningsköer.
Att försöka hoppa direkt från webbplatser till en CRM-import skapar oftast en skör hög med specialskript och dubblettposter. Det är källregistret och den kanoniska modellen som gör hundratals webbplatser hanterbara.
Steg 1: Definiera det kanoniska återförsäljarchemat
Börja med resultatet, inte med den första webbplatsen. Ett användbart minsta schema är:
| Grupp | Fält |
|---|---|
| Källdata | source_domain, source_locator_url, source_dealer_url, source_dealer_id |
| Identitet | dealer_name_raw, dealer_name_normalized, brand, manufacturer |
| Adress | street_address, address_locality, address_region, postal_code, address_country |
| Kontakt | phone_raw, phone_normalized, website |
| Plats | latitude, longitude |
| Kommersiella attribut | services, products, categories, authorized_status_raw |
| Observation | observed_at, first_seen, last_seen, record_status |
| Ändringskontroll | source_hash, change_hash, parser_version |
Schema.orgs PostalAddress ger en bra grund för namngivning av gatuadress, ort, region, postnummer och land. Föredra ISO-koder med två bokstäver i normaliserade data, men behåll landet exakt som källan publicerar det.
Behåll råa och normaliserade fält sida vid sida. Om en webbplats säger St. John's, NL och normaliseringslagret gör om det till en standardiserad provins och telefonkod, ska båda versionerna finnas kvar för granskning.
Steg 2: Bygg ett källregister
Källregistret är kontrollrummet för arbetet. Ge varje webbplats en rad med:
- Domän och varumärke
- Land eller marknad
- Misstänkt locator-URL
- Mönsterfamilj för locatorn
- Föredragen crawl-metod
- Parser- eller mallversion
- Körfrekvens
- Affärsansvarig
- Senaste försök, lyckad körning, tom körning och misslyckad körning
- Anteckningar om sökinmatning eller interaktionskrav
Vänta inte tills varje locator är förstådd. Skapa registret först och låt klassificeringen bli bättre efter hand som piloten rullar på.
Så hittar du locator-källor
Kontrollera:
- Huvudnavigering och sidfotslänkar som “Hitta återförsäljare”, “Var köper man” eller “Butikssökare”
/sitemap.xmloch sitemap-index- Intern sökning på sajten
- Sökmotorfrågor som
site:brand.example dealer locator - Sidkällan och inbäddad strukturerad data
- Nätverksanrop som triggas av en sökning i locatorn
- PDF- eller distributörsdokument som reservkälla
Sitemaps-protokollet kräver en <loc>-URL för varje sitemap-post och stöder sitemap-index. Sitemaps kan snabba upp upptäckten, men de garanterar inte att varje dynamiskt locator-resultat finns med, och ett <lastmod>-värde ska inte tolkas som bevis på att återförsäljarinformationen är färsk.
![]()
Steg 3: Klassificera varje locator innan du skalar upp
De flesta återförsäljarwebbplatser passar in i ett litet antal mönsterfamiljer:
- Statisk HTML-lista eller tabell — enklaste fallet; posterna finns i sidkällan.
- Paginierad katalog eller oändlig scroll — posterna upprepas men kräver navigering.
- Kort på karta med länkar till detaljsidor — sammanfattningskort behöver berikas med undersidor.
- Sökformulär — användaren måste ange land, delstat, stad eller postnummer.
- Inbäddad JSON eller nätverksrespons — sidan är ett visuellt skal runt strukturerad data.
- Tunn lista plus detaljsidor för återförsäljare — listan innehåller identitet, medan adresser och tjänster finns på undersidor.
- PDF- eller dokumentkatalog — extraktion och förändringsgranskning kräver en dokumentanpassad väg.
En universell scraper klarar inte alla hundratals webbplatser särskilt bra. Den skalbara lösningen är att bygga ett återanvändbart flöde per mönsterfamilj och sedan styra varje källa med konfiguration.
Steg 4: Testa webbläsarflödet med Thunderbit
Thunderbit är användbart för att bevisa schemat på representativa webbplatser innan du satsar på massautomation.
Pilotprocess
- Öppna en representativ återförsäljarkatalog i Chrome.
- Starta Thunderbit och använd AI Suggest Fields.
- Byt namn på föreslagna fält till det kanoniska schemat.
- Lägg till Field AI Prompts för normalisering eller klassificering — till exempel att mappa det synliga landsnamnet till en ISO-kod eller klassificera tjänster i en godkänd kategorimängd.
- Aktivera hantering av paginering eller oändlig scroll för list-sidor.
- Använd subpage scraping när enskilda återförsäljarsidor innehåller telefon, webbplats, tjänster eller käll-ID:n.
- Exportera ett litet urval till Sheets eller Excel och verifiera varje käll-URL.
Webbläsarläge är särskilt bra när en locator kräver interaktion, en inloggad session eller rendering som en enkel begäran inte återskapar. Använd bara källor och konton som organisationen har rätt att komma åt.
Välj representativa webbplatser, inte de enklaste
Den första piloten bör omfatta 20 webbplatser som täcker de viktigaste mönstren, regionerna och sidteknikerna. Om varje pilotkälla bara är en enkel statisk tabell kommer flödet att se perfekt ut tills den första kartbaserade locatorkällan dyker upp.
För varje mönsterfamilj, verifiera minst:
- Ett rent exempel
- Ett stort exempel
- Ett dynamiskt eller oregelbundet exempel
- En webbplats med detaljsidor för återförsäljare
- En webbplats med glesa eller valfria fält
Steg 5: Skala stabila källor med Batch Extract API
För upprepningsbara publika sidor, flytta stabila jobb från manuellt webbläsararbete till Thunderbit Web Scraper API.
Batch Extract-endpointen accepterar upp till 50 URL:er i en enda begäran med ett JSON Schema. Den returnerar ett jobb-ID, behandlar URL:er parallellt, stöder fel per URL, kan skicka webhook-notiser och erbjuder renderMode-alternativ som none, basic och full.
Batchdesign
- Gruppera URL:er som delar samma semantiska utdata-schema.
- Håll batchar på eller under gränsen om 50 URL:er per begäran.
- Välj det lättaste renderingsläget som tillförlitligt exponerar data.
- Spara jobb-ID och parserversion tillsammans med körningen.
- Registrera status för lyckad körning, tomt resultat och fel per URL — inte bara en status för hela batchen.
- Försök bara om de URL:er som misslyckades.
- Bevara råa extraherade värden och källänkar innan normalisering.
Ett schema kan täcka webbplatser som är designade olika så länge fältens affärsbetydelse är konsekvent. Det är det som gör att en statisk katalog och en kartkortslocator kan mata samma återförsäljarregister.
Steg 6: Normalisera utan att radera bevis
Normalisering gör poster jämförbara; den ska inte göra dem omöjliga att granska.
Rekommenderade transformationer inkluderar:
- Trimma blanksteg och normalisera skiljetecken
- Standardisera versaler/gemener medan
dealer_name_rawbevaras - Tolka telefonnummer med tydlig landskontext
- Mappa land- och regionnamn till godkända koder
- Dela upp eller slå ihop adresskomponenter konsekvent
- Normalisera URL:er och ta bort spårningsparametrar där det är lämpligt
- Mappa fritext för tjänster till styrda kategorier samtidigt som källfrasen behålls
Skriv inte över källans auktorisationsetikett. Om en tillverkare säger “Authorized Dealer” och en annan säger “Certified Reseller”, spara den exakta frasen och lägg eventuellt till en normaliserad kategori i ett separat fält.
Steg 7: Matcha återförsäljare över varumärken och källor
Matchning på återförsäljarnamn räcker inte. “Smith Auto”, “Smith Automotive” och “Smith Auto LLC” kan vara ett och samma företag — eller tre företag i närliggande städer.
Använd en sammansatt kandidatnyckel som:
normaliserat namn + postnummer + telefon
eller, när koordinater finns tillgängliga:
normaliserat namn + geospatialt avstånd + adressnummer
Sedan poängsätts bevisen:
- Exakt eller nästan exakt normaliserat namn
- Exakt telefonnummer
- Samma postnummer
- Liknande gatuadress
- Koordinater inom en liten radie
- Matchande webbplatsdomän
Skapa en mapping-tabell från källa till kanonisk entitet i stället för att slå ihop poster direkt. Flera tillverkare kan peka på samma fysiska återförsäljare men ändå ha separata varumärkesmedlemskap, tjänster och statusetiketter.
![]()
Steg 8: Upptäck meningsfulla förändringar
Varje körning ska vara en observation, inte en destruktiv överskrivning.
Spara:
observed_atför den aktuella körningenfirst_seennär källposten först dök upplast_seenför den senaste lyckade observationen- En source hash för den råa posten
- En change hash för de normaliserade affärsfälten
Användbara förändringstyper inkluderar:
- Återförsäljare tillagd
- Återförsäljare saknas
- Namn, adress, telefon eller webbplats har ändrats
- Auktoriserad status har ändrats
- Tjänste- eller produktkategori har ändrats
- Plats har flyttats
- Källsidan misslyckades eller layouten förändrades
En saknad post ska först bli missing_pending_review. Bekräfta borttagning först efter upprepad frånvaro eller manuell granskning. Ett misslyckat crawl, tomt svar eller trasig selector är inte bevis på att en återförsäljare har stängt.
Steg 9: Lägg till Google Places som validering vid behov
Google Places Place Details kan berika eller validera en återförsäljarpost med ett stabilt place ID, visningsnamn, formaterad adress, koordinater, telefon, webbplats, verksamhetsstatus och information om flyttad plats, beroende på vilket fältmask och vilken SKU som efterfrågas.
Använd det som en sekundär signal, inte som auktoritet för om en plats tillhör en tillverkares återförsäljarprogram. Tillverkarens källa är fortfarande den auktoritativa för det medlemskapet. Spara valideringsleverantören och tidsstämpeln, och skriv inte över tillverkarens status i tysthet.
Steg 10: Mät extraktionskvalitet per mönster och källa
Följ kvaliteten på kör-, mönster- och domännivå.
Mätetal per körning
- Registrerade käll-URL:er
- Försökta URL:er
- Lyckade, tomma och misslyckade URL:er
- Extraherade poster
- Poster tillagda, ändrade, saknade och oförändrade
- Kompletteringsgrad för kärnfält
- Antal dubblettkandidater
- Misstänkta borttagningar i väntan på granskning
- Incidenter med schema-drift
Exempelvalidering
För varje mönsterfamilj och större körning:
- Jämför 20–50 stickprovsposter med deras källsidor.
- Kontrollera förväntat URL-antal mot försökt och lyckat antal.
- Granska saknade kärnfält per domän.
- Inspektera dubblettkluster och entitetsmatchningar med låg säkerhet.
- Kontrollera koordinatavvikelser samt fel i land/postnummer.
- Återbesök ett urval av uppenbara borttagningar.
- Dokumentera vilken extractor- eller mallversion som användes.
Målet är inte en enda global “noggrannhetsprocent”. Det handlar om att veta vilka mönster och källor som är pålitliga, vilka fält som är svaga och var granskningsinsatsen ska läggas.
Steg 11: Skicka förändringar in i affärsflöden
Olika förändringar förtjänar olika destinationer:
- Ny återförsäljare: Skicka till sales operations för CRM-skapande, ägarskap och territoriell tilldelning.
- Borttagen eller stängd plats: Skicka till en granskningskö innan kontostatus ändras.
- Adress- eller telefonändring: Uppdatera berikning och verifiera öppna affärer eller service-täckning.
- Förändrad auktorisation: Meddela kanalhantering och kundnära team.
- Täckningslucka: Mata territoriell planering och partnerrekrytering.
- Konkurrentexpansion: Uppdatera distributionsintelligens och regional strategi.
- Upprepad källfel: Skicka till data operations-kön, inte till säljteamet.
Varje notis ska innehålla den kanoniska återförsäljaren, varumärkesmedlemskap, förändringstyp, värden före och efter, käll-URL, observationstid samt säkerhetsnivå eller granskningsstatus.
En 30/60/90-dagars lanseringsplan
Dag 1–30: Designa och bevisa
- Slutför det kanoniska schemat och styrda kategorier.
- Bygg källregistret.
- Klassificera 20 representativa webbplatser.
- Bevisa 3–5 locator-mönsterfamiljer.
- Etablera regler för stickprovskontroll och körningsmätetal.
- Leverera ett första återförsäljarregister med källdata.
Dag 31–60: Utöka och automatisera
- Utvidga klassificeringen över hela portföljen.
- Flytta stabila publika URL-grupper till batch-extraktion.
- Lägg till scheman, jobbspårning, retry-logik och fel-dashboards.
- Inför mapping mellan källa och kanonisk entitet.
- Koppla granskade tillägg och uppdateringar till CRM-flöden.
Dag 61–90: Operationalisera förändringsintelligens
- Lägg till aviseringar och granskningsköer för specifika förändringar.
- Inför first-seen, last-seen och bekräftelse av borttagning.
- Lägg till valfri Places-validering där det förbättrar adresssäkerheten.
- Definiera tjänstenivåer på körningsnivå.
- Granska mönster- och mallprestanda månadsvis.
- Tilldela en ägare för varje källfamilj och affärsåtgärd.
Vanliga felmoder
Bygga en scraper per webbplats. Det skapar hundratals underhållsvägar. Klassificera mönsterfamiljer och skilj återanvändbar logik från källkonfiguration.
Deduplicera enbart på återförsäljarens namn. Namn är inkonsekventa och återanvänds ofta. Matcha med adress, postnummer, telefon, koordinater och webbplatsbevis.
Skriva över råvärden. Normaliseringsfel blir omöjliga att granska när källrepresentationen försvinner.
Tolkar tom utdata som noll återförsäljare. Tom utdata kan betyda misslyckad interaktion, förändrad rendering eller blockerad begäran. Håll crawl-hälsa separat från affärsstatus.
Förklara borttagning efter en enda miss. Kräv upprepad frånvaro eller manuell verifiering.
Använda en kartleverantör som auktoritet för återförsäljaren. Kartdata kan validera en plats men kan inte bekräfta en tillverkares auktorisationsrelation.
Skala innan du mäter mönsterkvalitet. Ett litet extraktionsfel blir ett stort operativt problem när det multipliceras över hundratals webbplatser.
Vanliga frågor
Kan ett schema fungera över hundratals olika återförsäljarwebbplatser?
Ja. Sidlayouter skiljer sig åt, men de semantiska fälten — återförsäljarens namn, adress, telefon, webbplats, varumärke, tjänster, käll-URL och status — är i stort sett konsekventa. Använd olika extraktionsmönster för att fylla ett enda kanoniskt schema.
Hur bör locator-sidor som kräver sökning på postnummer automatiseras?
Behandla sökformuläret som en egen mönsterfamilj. Definiera ett täckningsnät av inmatningsplatser, fånga resultat-ID:n eller URL:er, deduplicera överlappande sökradier och behåll den inmatning som gav varje resultat för felsökning.
Hur ofta bör återförsäljarplatser uppdateras?
Anpassa frekvensen efter affärsbehov och källans beteende. Högvärdiga källor för konkurrens- eller täckningsanalys kan köras veckovis; långsammare tillverkarregister kanske månadsvis. Körningsfel ska utlösa operativ granskning oberoende av förändringsfrekvensen för återförsäljare.
Hur kan systemet skilja en borttagen återförsäljare från en misslyckad scraping-körning?
Spåra källhälsa och postens närvaro separat. Ett misslyckat eller tomt crawl uppdaterar inte återförsäljarens last-seen-status. Endast lyckade körningar kan ge bevis på frånvaro, och borttagning ska kräva upprepning eller granskning.
Ska Google Places ersätta webbplatsens adress och verksamhetsstatus?
Nej. Använd Places som berikning eller validering, spara dess tidsstämpel och leverantör, och låt tillverkarens locator vara auktoriteten för medlemskap i återförsäljarprogrammet.
Automatiserad återförsäljarspårning lyckas när den behandlas som en dataproduct: ett styrt källregister, återanvändbara mönsterfamiljer, bevarade bevis, försiktig entitetsmatchning och affärsägd förändringshantering. Den arkitekturen kan växa från 20 pilotwebbplatser till hundratals utan att varje omdesign blir ett akut ombygge.
Läs mer

