← Tilbage til Nekrologskrivebordet

Automatiseret jagt på udløbne domæner med Python

Udgivet af Peter Nagy · AI-assisteret · 8. august 2026 · 5 min læsning

Automatiseret jagt på udløbne domæner betyder, at du erstatter manuel genopfriskning af lister med et Python-script, der henter droplister, filtrerer efter dine kriterier og sender en alarm. Du bruger requests, BeautifulSoup og en simpel cron-job. Det er ikke avanceret, men det gør timer til minutter. Og når du finder en dud, kan du altid begrave den bagefter.

Hvad gør automatiseret jagt på udløbne domæner helt præcist?

Det gør en kedelig, gentagende opgave til et sæt-og-glem-script. Du skriver Python-kode, der henter lister over udløbne domæner fra offentlige kilder, tjekker hvert navn mod dine regler og sender dig en besked, når noget matcher. Ikke mere at stå op kl. 3 om natten for at se, om det 4-bogstavs .io endelig er droppet.

Kernen er en simpel løkke: hent, filtrer, alarm. Du kan køre det på en billig VPS eller din egen maskine med et cron-job. Det hele kan bygges på en eftermiddag, selvom du ikke er professionel udvikler.

Forudsætninger: Hvad skal du bruge, før du skriver et script?

Et par basale ting. Du skal have Python 3.8 eller nyere installeret samt en teksteditor. Du får også brug for en gratis konto hos en domæne-API-tjeneste som WhoisXMLAPI eller RDAP for at tjekke registreringsdatoer. Budget nul kroner til dette trin, medmindre du vil betale for højere rate-limits.

Du skal også have et klart filter. Vid, hvad du leder efter: ordlængde, længde, endelse, backlinks eller en bestemt niche. Skriv det ned, før du koder, ellers ender du med et script, der advarer dig om hvert eneste tilfældige domæne på internettet.

Trin 1: Hvordan henter du lister over udløbne domæner?

Start med offentlige droplister. Tjenester som ExpiredDomains.net og NameJet udgiver daglige lister, selvom de ikke altid er lette at scrape. Brug requests og BeautifulSoup til at hente HTML og parse tabelrækkerne.

import requests
from bs4 import BeautifulSoup

url = "https://www.expireddomains.net/expired-domains/"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

Det giver dig råsiden. Derefter udtrækker du domænenavnene fra tabellen. De fleste lister bruger en lignende struktur, så et par find_all-kald får dig i mål. Vær høflig med rate-limits, ellers bliver du blokeret.

Trin 2: Hvordan filtrerer du domæner med Python?

Filtre er hvor magien sker. Skriv en funktion, der tager et domæne og returnerer True eller False baseret på dine regler. For eksempel vil du måske kun have .com-domæner med præcis 6 bogstaver og ingen bindestreger.

def is_worth_checking(domain):
    name, ext = domain.split(".")
    return ext == "com" and len(name) == 6 and "-" not in name

Du kan også filtrere efter nøgleordslister. Hvis du leder efter fitness-domæner, så hold en liste over relevante ord og tjek, om nogen optræder. Brug re til regex-matching, hvis du har brug for mere komplekse mønstre.

Trin 3: Hvordan tjekker du domænets tilgængelighed og metrics?

Når du har en filtreret liste, skal du vide, om domænet rent faktisk er ved at udløbe. Brug RDAP til at tjekke registreringsstatus. Biblioteket rdap gør dette nemt.

import rdap

def check_status(domain):
    data = rdap.query(domain)
    return data.get("status", [])

Hvis status inkluderer "pending delete" eller "redemption period", er det sandsynligvis ved at udløbe. Du kan også tjekke backlinks med en gratis API som Open PageRank, men du skal bruge en API-nøgle. Hold tjekkene lette, for mange forespørgsler vil gøre dig langsommere.

Trin 4: Hvordan planlægger du scriptet til at køre automatisk?

Brug cron på Linux eller Task Scheduler på Windows. Kør scriptet én gang om dagen eller hver få timer, hvis du jagter varme drops. En simpel cron-linje ser sådan ud:

0 6 * * * cd /sti/til/script && python3 hunt.py

Det kører hver morgen kl. 6. Du får resultater, før dagens rush starter. Du kan også bruge biblioteket schedule, hvis du foretrækker at holde alt i Python.

Trin 5: Hvordan får du advarsler, når der er et match?

Email, Telegram eller Slack. Det nemmeste er Telegram, fordi du kan sende en besked med en simpel POST-forespørgsel. Opret en bot, få chat-ID'en, og brug requests.post til at sende en besked, når dit filter finder noget.

import requests

def send_alert(domain):
    token = "DIN_BOT_TOKEN"
    chat_id = "DIT_CHAT_ID"
    text = f"Fundet: {domain}"
    url = f"https://api.telegram.org/bot{token}/sendMessage"
    requests.post(url, data={"chat_id": chat_id, "text": text})

Nu får du pings på din telefon uden at røre scriptet. Bare husk at holde bot-tokenet privat.

Trin 6: Hvordan håndterer du resultaterne og beslutter, hvad du skal købe?

Når alarmen kommer, skal du stadig lave manuelle tjek. Brug en registrar som Namecheap eller GoDaddy til at se den præcise pris, og tjek Wayback Machine for historisk indhold. Ikke alle udløbne domæner er værd at betale registreringsgebyret for.

Hvis du køber et, og det viser sig at være en dud, kan du begrave dit døde projekt for en dollar. Det er en billig måde at give slip på. Og hvis du leder efter inspiration eller et godt tilbud, så besøg kirkegården for at se, hvad andre har efterladt.

Hvad kan gå galt med automatiseret jagt?

Massere. Dit script kan gå i stykker, når hjemmesiden ændrer sin HTML-struktur. Du kan blive rate-limited eller IP-blokeret. Du kan filtrere for aggressivt og gå glip af gode navne, eller for løst og blive oversvømmet med skrammel.

Derudover bevæger domænemarkedet sig hurtigt. Et navn, der ser frit ud, kan blive registreret af en anden, før dit cron-job kører. Det er normalt. Byg et forsøg eller en ventetid ind, og bliv ikke for knyttet til et enkelt domæne.

Har du virkelig brug for at automatisere dette?

Hvis du tjekker drops én gang om ugen, nej. Men hvis du opdaterer lister dagligt, sparer et script timer. Det lader dig også handle hurtigere, når et godt navn dukker op. Hastighed betyder noget i jagten på udløbne domæner, for gode navne forsvinder inden for minutter.

Ulempen er, at automatisering kan få dig til at tro, du er produktiv. Det er du ikke. Du filtrerer bare hurtigere. Det rigtige arbejde ligger stadig i den manuelle gennemgang.

Hvor går du herfra?

Start småt. Vælg én kilde, ét filter og én alarmmetode. Få det til at fungere, før du tilføjer kompleksitet. Udvid derefter til flere kilder eller flere filtre. Scriptet behøver ikke være perfekt, det skal bare køre.

Og hvis du ender med et domæne, du ikke vil have, så lad det ikke rådne. Begrav det på dead.domains og lad en anden give det et nyt liv. Det er cyklussen for digital ejendom, og det er mærkeligt tilfredsstillende.

Besøg dead.domains for at se, hvad der allerede er begravet.

FAQ

Er det lovligt at scrape lister over udløbne domæner?

Ja, så længe du respekterer robots.txt og rate-limits. Offentlige lister er beregnet til at blive vist, men at scrape for hurtigt kan få dig blokeret. Brug rimelige forsinkelser og en korrekt user-agent. Hvis et site har en betalt API, så overvej at bruge den for at undgå juridiske problemer.

Hvad er det bedste Python-bibliotek til at parse HTML?

BeautifulSoup er det mest almindelige valg, fordi det er let at lære og fungerer godt med rodet HTML. Til mere kompleks parsing kan du bruge lxml eller Scrapy. Start med BeautifulSoup og skift kun, når du rammer præstationsgrænser.

Hvor ofte skal jeg køre mit script for udløbne domæner?

Én gang om dagen er som regel nok for de fleste nicher. Hvis du jagter højt værdifulde drops, så kør det hver få timer. Husk, at hyppigere kørsel øger risikoen for at blive rate-limited, så afbalancer hastighed med sikkerhed.

Kan jeg automatisere hele købsprocessen?

Delvist. Du kan automatisere tjek af tilgængelighed og endda forudbestilling, men selve registreringen kræver normalt manuel bekræftelse. Nogle registrarer tilbyder API'er til automatiserede køb, men de har ofte minimumsbeløb eller kræver godkendelse. Forvent ikke en fuldautomatisk pipeline.

Hvad skal jeg gøre, hvis mit script holder op med at virke?

Tjek først hjemmesidens HTML-struktur. Sider ændrer ofte layout, så dine selektorer kan gå i stykker. Tilføj fejlhåndtering til dit script, så det logger problemet og advarer dig. Opdater derefter selektorerne og kør igen. Det er normal vedligeholdelse.