Tilbake til Artikler

Slik bygger du et eget crawler-verktøy med Python og Screaming Frog API

1 min lesing
T
Twigmetrics

Slik bygger du et eget crawler-verktøy med Python og Screaming Frog API

SEO-markedet er i konstant utvikling, og for markedsførere og byråer kan dyp innsikt i nettsiders tekniske tilstand være avgjørende for å vinne konkurransen. Det er ikke alltid at eksisterende verktøy dekker alle behov – noen ganger trenger du et spesialtilpasset crawler-verktøy som kan integreres med eksisterende arbeidsflyt og gir deg den fleksibiliteten og datarikdommen du ønsker. Her kommer Python og Screaming Frog API inn som en kraftpakke.

Denne guiden viser deg, trinn for trinn, hvordan du bygger ditt eget crawler-verktøy ved å kombinere Python med Screaming Frog API. Du lærer alt fra grunnleggende API-integrasjon, til å automatisere crawl-prosesser, samle inn og analysere SEO-data, og tilpasse rapportering – alt med tanke på de krav og problemstillinger man ofte møter som SEO-spesialist, markedsfører eller byrå. Underveis får du også eksempler, praktiske tips og nyttige kodebiter du umiddelbart kan ta i bruk.

La oss dykke ned i hvordan du kan skape et skreddersydd crawler-verktøy som gir deg total kontroll over SEO-dataene dine!

Innholdsfortegnelse

Hva er en crawler og hvorfor bygge egen?

En crawler (eller spider) er et dataprogram som systematisk besøker nettsider, laster ned innhold og følger interne lenker for å samle inn informasjon. I SEO-sammenheng brukes crawlers for å identifisere tekniske problemer, analysere struktur, sjekke statuskoder, hente metadata, og forstå sidehierarkiet.

Selv om det finnes mange kommersielle SEO-crawlere på markedet, opplever markedsførere og byråer ofte begrensninger. Kanskje ønsker du å ta ut akkurat de datasettene du selv trenger, definere avanserte regler, eller integrere crawl-data sømløst mot rapporteringsdashboards eller CMS. Med et egenutviklet crawler-verktøy får du full kontroll, samt fleksibilitet til å utvide etter behov.

Eksempel: Et byrå trengte å scanne tusenvis av underdomener i et API-drevet oppsett, inkludert egendefinerte headere – her leverte et skreddersydd Python-script tilknyttet Screaming Frog API, der standardverktøy ikke strakk til.

Et slikt oppsett lar deg skape unike, datadrevne prosesser som gir deg fortrinn i markedet og sørger for mer presise SEO-leveranser.

Introduksjon til Screaming Frog API

Screaming Frog SEO Spider er et av de mest brukte tekniske SEO-verktøyene i bransjen. Siden 2020 har verktøyet hatt et innebygd REST-basert API, som åpner for automasjon, integrasjoner og tilpassede arbeidsflyter. API-et gir deg mulighet til å:

  • Styre crawling fra eksterne applikasjoner
  • Starte, stoppe og overvåke crawl-prosesser
  • Hente ut resultatfiler og rapporter automatisk
  • Endre på innstillinger dynamisk før oppstart

Fordelen for markedsførere er at API-et eliminerer behovet for manuell håndtering, og åpner for automatisering på tvers av SEO og dev-ops prosesser. Du slipper repetitive oppgaver og får tilgang til ferske tekniske data når du trenger det.

Det gjør Screaming Frog API velegnet både for enkel scriptstyring, og for integrasjon inn mot teamproduksjoner og dashbord-løsninger.

Forberedelser og krav

For å bygge ditt crawler-verktøy trenger du noen grunnleggende verktøy og forberedelser:

  • Screaming Frog SEO Spider (versjon 15.0 eller nyere): Krever lisens for API-tilgang.
  • Python 3.x – helst siste stabile versjon.
  • Grunnleggende kunnskap om REST API-er, JSON og Python-programmering.
  • Installasjon av Python-pakker som requests og pandas for henting og behandling av data.

Har du tilgang til et byrå- eller bedriftsmiljø anbefales det å installere verktøyene på en dedikert maskin eller server. Dette øker stabiliteten på automatiserte kjøringer og gjør det enklere å dele script i team – Twigmetrics.no tilbyr for øvrig en egen team-funksjon for søkeordsamarbeid, og kan lett kombineres med slike løsninger i SEO-arbeidet.

Nøkkelpunkt: Sett av tid til å gjøre deg kjent med dokumentasjonen i Screaming Frog og API-dokumentasjonen her.

Installere og konfigurere Screaming Frog

Last ned og installer Screaming Frog på operativsystemet du foretrekker (Windows, Mac, Linux). Kjøp lisens hvis du ikke allerede har det, og aktiver API-funksjonene slik:

  1. Gå til Configuration > API Access > SEO Spider i menyen.
  2. Aktiver "Enable API".
  3. Velg hvilken port du ønsker at API-et skal lytte på (standard er 9090).
  4. Om ønskelig, sett opp brukernavn og passord for ekstra sikkerhet.

Tips: API-et må være skrudd på hver gang Screaming Frog kjøres (du kan automatisere dette med batchskript / automasjonsverktøy).

Test at du har tilgang til API-et ved å gå til http://localhost:9090/swagger-ui.html eller /api/v1/ i nettleseren.

Screaming Frog API: Grunnprinsipper

API-et er REST-basert, og all kommunikasjon skjer over HTTP. Det viktigste å vite:

  • Du sender meldinger (POST/GET/DELETE) til ulike endepunkter for å styre crawleren.
  • All data utveksles i JSON-format.
  • De viktigste kommandoene er å starte en crawl, overvåke status, og hente ut data/rapporter.

Eksempel på kall for å starte en crawl:

POST /api/v1/crawl
{
  "url": "https://dindomene.no"
}

Du får tilbake en unik crawlId som brukes til å overvåke status og hente ut resultater.

Dette API-designet gjør det enkelt å integrere crawling enten fra enkle scripts eller større systemer.

Jobbe med Python-klienter for API-et

Det finnes ikke en offisiell Python-klient, men det er enkelt å bruke requests-biblioteket for å kommunisere direkte med Screaming Frog API. Eksempel på å sende en crawl-jobb:

import requests

url = 'http://localhost:9090/api/v1/crawl'
payload = {'url': 'https://dittdomene.no'}
r = requests.post(url, json=payload)
print(r.json())

For mer avansert bruk lager du en klasse eller modul som kapsler inn autentisering, feilhåndtering og bruk av endepunkter.

  • Gjør det enkelt å bytte ut innstillinger eller parametere mellom prosjekter.
  • Muliggjør batching av flere crawling-jobber.

Python gir deg stor fleksibilitet i viderebehandling av data – du kan eksportere direkte til Excel, Google Sheets, databaser eller integrere med API-et til Twigmetrics.no for å koble inn søkeordsanalyse.

Autentisering og forbindelse

Har du satt opp passordbeskyttelse i Screaming Frog, må du inkludere basic-auth i Python-koden. Eksempel:

from requests.auth import HTTPBasicAuth
payload = {'url': 'https://dittdomene.no'}
r = requests.post(
  url,
  json=payload,
  auth=HTTPBasicAuth('brukernavn', 'passord')
)

Sørg for at IP-adressen eller maskinen du kjører scriptet fra har tilgang til Screaming Frog-maskinen, spesielt i større team.

Ofte er Screaming Frog API satt opp på en lokal maskin. Skal flere team bruke det samtidig, bør det flyttes til en server eller cloudet miljø med sikker tilkobling.

Grunnleggende kommandoer og første crawl

De viktigste kommandoene:

  • Start crawl: POST /api/v1/crawl
  • Status på crawl: GET /api/v1/crawl/{crawlId}
  • Stoppe crawl: DELETE /api/v1/crawl/{crawlId}
  • Hente rapport: GET /api/v1/export/{crawlId}/{rapporter}

Eksempel fra virkeligheten: Et norsk byrå brukte denne metoden for å overvåke utvalgte kunder – systemet sendte crawljobber til Screaming Frog via API, hentet status hvert 15. minutt, og eksporterte rapport-filer til S3/Dropbox.

Legg til feilhåndtering ved å sjekke r.status_code og håndtere 4xx/5xx-respons på smart måte. Dette sparer deg for overraskelser og tap av data ved store crawler-kjøringer.

Tilpassede crawls med parametere

API-et lar deg sende med ekstra parametere i crawl-kommandoen. Sentrale felt:

  • url: Hoved-URL for crawl.
  • userAgent: Sett egen user agent-string om ønskelig.
  • maxPages: Sett grense for antall sider.
  • customExtraction: Kjør egendefinert ekstraksjon med regex/XPath.
  • headers: Bruk egne HTTP-headere, eks. for API-nøkler/sesjoner.

Dette gir maksimalt fleksibelt oppsett for både lokale og enterprise crawls.

Eksempel: Overvåk helse på et globalt nettsted med dedikert crawl for ulike språkversjoner, samtidig som du sjekker status på skjulte sider/intranett via egne cookies.

Innsikt: Mange overser muligheten til å bruke API-et for målrettede test-crawls før lansering/prosjektoverlevering – dette kan spare teamet for mange feil når nettsider skal migrere eller relanseres.

Lagring og analyse av resultater

Når crawl'en er ferdig, kan du hente ut rapporter via API. Screaming Frog lar deg laste ned ulike formater: CSV, XLSX, XML, JSON – klare for analyser og videre rapportering.

Eksempel:

r = requests.get(
  f'http://localhost:9090/api/v1/export/{crawlId}/internal_html',
  auth=HTTPBasicAuth('brukernavn', 'passord')
)
with open('rapport.csv', 'wb') as f:
    f.write(r.content)

Du kan deretter lese inn filen i pandas, kjøre filtrering, aggregering, og eksportere direkte til dashboard-løsninger som PowerBI, Google Data Studio, eller integrere i teamrapporter.

For store team: Lagring i clouden eller på felles server sikrer at alle har tilgang til ferske crawl-data.

Automatisering og planlegging av crawls

Python gjør det enkelt å automatisere crawls med schedule- eller cron-jobber. Sett opp at crawlingscriptet kjører en gang i døgnet, ukentlig, eller basert på events (f.eks. deploy).

Eksempel på ukentlig automatisering:

import schedule
import time

def crawl_job():
    # kall til crawl-script

schedule.every().friday.at('06:00').do(crawl_job)
while True:
    schedule.run_pending()
    time.sleep(60)

Automatisert crawling gir alltid oppdaterte data i SEO-rapportering, og gir deg mulighet til å reagere proaktivt på tekniske problemer.

Unik innsikt: Mange byråer kan øke sin '#sites per medarbeider'-ratio dramatisk ved å la roboter gjøre grovarbeidet og kun bruke eksperttid på analyse og konklusjon.

Avansert bruk og feilhåndtering

Bygg inn robust logging av alle API-kall (bruk gjerne logging-modulen i Python). Skriv feilmeldinger til fil, lag alt av crawl-IDs og statuskoder for enkel sporing.

Tips for feilhåndtering:

  • Sett opp retry-loops ved timeout eller midlertidig feil.
  • Sjekk om Screaming Frog er online før du starter crawl.
  • Varsle teamet via Slack/Teams ved alvorlige feil (integrer med webhook).

Eksempel: Et mediebyrå fikk 40% færre feilmeldinger i ukentlige crawls ved å implementere automatisk retry og Slack-varsling i sitt Python-script.

Avanserte brukere kan også bygge inn støtte for parallell crawling av flere domener (f.eks. med asyncio eller concurrent.futures).

Integrering med andre SEO-verktøy og arbeidsflyt

Koble dine egendefinerte crawl-prosesser sammen med søkeordsanalyse, rank-tracking og konkurranse-analyse! Python gjør det enkelt å hente data fra verktøy som Twigmetrics.no, Google Search Console, Ahrefs og Moz via API, og kombinere dette med crawl-resultatene.

Eksempel: Dra ut alle HTML-titler som mangler relevante søkeord, og bruk automatisk keyword-sjekk fra Twigmetrics direkte i rapporten, slik at du leverer mer verdi internt eller til kunde.

Tips: Legg automatiske data-pipelines til et delt Google Sheet, så hele teamet ser oppdaterte feil på nettsidene – kombinert med nøkkeltall fra crawl + rangering + søkeord.

Case study: Byråets raskere tekniske SEO-rapporter

Et digitalt byrå i Oslo utviklet et Python-basert crawler-script integrert med Screaming Frog API og Twigmetrics.no. Målet: Å halvere tiden brukt per kunde på tekniske SEO-rapporter.

Arbeidsflyten:

  • Kundens domeneliste legges inn i et Google Sheet.
  • Et Python-script leser denne listen, kjører crawling via Screaming Frog API, og eksporterer rapporter til cloud storage.
  • Scriptet henter så søkeord-statistikk fra Twigmetrics for alle toppsider, og kobler sammen funn med crawling-data.
  • Til slutt sendes sammendragsrapporter til konsulenten, klar for analyse og kunde-møte.

Resultat: Rapporteringstiden gikk ned fra 5 timer til under 2 timer per uke, samt høyere kvalitet på innhold, feilrapportering og søkeordinnsikt.

Læring: Ved å kombinere automatisert crawling og moderne SEO-verktøy, kan selv små team levere enterprise-nivå rapportering – uten å bruke all ledig kapasitet!

Tips og triks for videreutvikling

Når du har fått på plass en grunnleggende crawler, kan du utvide etter eget behov:

  • Legg inn e-postvarsling for alvorlige feil eller brudd på kritiske SEO-parametere.
  • Lag selvbetjente dashboards hvor team/kunder kan trigge crawl ved behov.
  • Automatiser sammenstilling av crawl-data og organisk trafikk fra Google Analytics / Search Console for holistiske rapporter.
  • Sett opp "benchmarking" mot konkurrenter ved å automatisere crawls på konkurrentenes nettsteder (husk etisk bruk!).
  • Utforsk bruk av AI eller maskinlæring til å analysere mønstre i crawl-dataen – for eksempel automatisk prioritering av feil eller anbefalinger.

Ta gjerne i bruk Twigmetrics.no for søkeordsanalyser direkte i Python – det finnes gratisplan og støtte for team-samarbeid.

Konklusjon

Å bygge sitt eget crawler-verktøy med Python og Screaming Frog API åpner utallige muligheter: du får frihet til å styre, overvåke og rapportere på teknisk SEO akkurat slik ditt team eller byrå trenger. Med et minimalt teknisk løft kan du automatisere repetitive oppgaver, levere dypere og mer spesialtilpassede rapporter, og bruke tiden på det som virkelig gir verdi – nemlig analyse, optimalisering og strategisk arbeid for kundene.

Kombinasjonen av Screaming Frog, Pythons fleksibilitet og verktøy som Twigmetrics.no gir deg alt du trenger for å sikrestille teknisk SEO og søkeord-kunnskap – selv i konkurransedrevne, komplekse miljøer.

Har du ennå ikke testet denne arbeidsflyten, er det på tide! Start med små scripts, se gevinstene, og bygg deretter videre med flere automasjoner og integrasjoner. Du vil raskt oppleve hvordan effektivitet, innsikt og kundetilfredshet skyter i været.

Ta grep nå – og ta kontroll over dine SEO-data!

Quick Takeaways

  • Å bygge eget crawler-verktøy gir maksimal kontroll og fleksibilitet over tekniske SEO-analyser.
  • Screaming Frog API muliggjør automasjon, integrasjoner og effektiv datainnhenting i team-miljøer.
  • Python gjør det lett å tilpasse, skreddersy og utvide crawl-prosesser etter behov.
  • Å kombinere crawler-data med søkeordverktøy som Twigmetrics.no hever kvaliteten på SEO-rapportering.
  • Automatisering frigjør tid for teamet – mer tid til analyse, mindre til rutineoppgaver.
  • Et robust crawler-script krever god feilhåndtering, logging, og sikker dataflyt.

Ofte stilte spørsmål

1. Må jeg kjøpe lisens av Screaming Frog for å bruke API-et med Python?

Ja, API-tilgang i Screaming Frog krever betalt lisens. Gratisversjonen gir ikke tilgang til API-funksjoner, men du kan likevel teste mye lokalt før du investerer.

2. Kan jeg koble crawler-scriptet mitt til søkeordverktøy?

Absolutt! Med Python er det veldig lett å hente ut søkeorddata fra verktøy som Twigmetrics.no via API og kombinere med crawl-resultatene dine for mer helhetlig SEO-analyse.

3. Hvilke feil bør jeg se særlig etter ved automatisert crawling?

Vanlige feil er timeout, avbrutte crawls, feil statuskoder fra server, samt manglende rapportfiler. Sett inn feilhåndtering og varsling for disse tilfellene for et robust oppsett.

4. Passer denne løsningen for større bedrifter og byråer?

Ja, løsningen passer særlig godt for byråer og større team. Du får full kontroll med flerbrukermiljø, og kan dele rapporter og scripts med hele teamet. Bruk gjerne Twigmetrics.no sitt team-oppsett for samarbeid rundt søkeord.

5. Kan jeg automatisere crawling slik at det skjer til faste tider?

Ja, Python støtter planlegging via schedule-moduler og cron-jobs. Dette gjør det mulig å kjøre crawl-script automatisk f.eks. ukentlig eller daglig, avhengig av behovet til prosjektet ditt.

Hva synes du?

Har du spørsmål, egne erfaringer, eller tips til videre utvikling av crawler-verktøy for SEO? Del gjerne i kommentarfeltet! Trykk på delingsknappene og hjelp kollegaer og bransjevenner som også kan ha nytte av en smartere arbeidsflyt – sammen hever vi nivået på SEO i Norge!
Hva er din største utfordring når det gjelder teknisk SEO og crawling?

Referanser

TwigMetrics Robot

Klar til å transformere din bedrift med TwigMetrics?

TwigMetrics er et norsk søkeordsverktøy som lar deg finne, organisere og analysere søkeord på én plattform. Bygget for markedsførere som vil ha kraftige funksjoner uten høye kostnader.