← Nazad na Odjel za osmrtnice

Automatiziraj lov na istekle domene Python skriptama

Objavio Peter Nagy · Uz pomoć AI-ja · 8. august 2026. · 5 min čitanja

Automatizirani lov na istekle domene znači da ručno osvježavanje lista zamijeniš Python skriptom koja redovno povlači drop liste, filtrira po metrikama i šalje ti obavijest. Koristiš requests, BeautifulSoup i običan cron posao. Nije fancy, ali pretvara sate u minute. A kad naletiš na promašaj, uvijek ga možeš sahraniti kasnije.

Šta tačno radi automatizirani lov na istekle domene?

Pretvara dosadan, ponavljajući zadatak u skriptu koju postaviš i zaboraviš. Napišeš Python kod koji preuzima liste isteklih domena sa javnih izvora, provjerava svako ime po tvojim pravilima i šalje ti poruku kad nešto odgovara. Nema više buđenja u 3 ujutro da vidiš je li ta 4-slova .io konačno ispala.

Osnovna petlja je jednostavna: preuzmi, filtriraj, obavijesti. Možeš je pokrenuti na jeftinom VPS-u ili na svom računaru putem cron posla. Cijela stvar se može napraviti za jedno popodne, čak i ako nisi profesionalni programer.

Šta ti treba prije pisanja skripte?

Par osnovnih stvari. Treba ti Python 3.8 ili noviji, plus uređivač teksta. Trebaće ti i besplatni račun na nekom domain API servisu poput WhoisXMLAPI ili RDAP da provjeravaš datume registracije. Budžet za ovaj korak je nula dolara, osim ako ne želiš platiti za veće rate limite.

Treba ti i jasan filter. Znaj šta tražiš: broj riječi, dužinu, ekstenziju, backlinkove ili specifičnu nišu. Zapiši to prije nego što počneš kodirati, inače ćeš završiti sa skriptom koja ti javlja za svaku nasumičnu domenu na internetu.

Korak 1: Kako preuzeti liste isteklih domena?

Počni sa javnim drop listama. Servisi poput ExpiredDomains.net i NameJet objavljuju dnevne liste, iako ih nije uvijek lako skrejpovati. Koristi requests i BeautifulSoup da povučeš HTML i parsiraš redove tabele.

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")

To ti daje sirovi page. Onda izvuci imena domena iz tabele. Većina lista koristi sličnu strukturu, pa će ti par find_all poziva biti dovoljno. Budi pristojan sa rate limitima, ili ćeš biti blokiran.

Korak 2: Kako filtrirati domene pomoću Pythona?

Filteri su tu gdje se dešava magija. Napiši funkciju koja uzima domenu i vraća True ili False na osnovu tvojih pravila. Na primjer, možda želiš samo .com domene sa tačno 6 slova i bez crtica.

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

Možeš filtrirati i po listama ključnih riječi. Ako loviš fitness domene, drži listu relevantnih riječi i provjeravaj pojavljuju li se. Koristi re za regex match ako ti trebaju složeniji obrasci.

Korak 3: Kako provjeriti dostupnost i metrike domena?

Kad dobiješ filtriranu listu, trebaš znati ističe li domena zaista. Koristi RDAP da provjeriš status registracije. rdap biblioteka to čini lakim.

import rdap

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

Ako status uključuje "pending delete" ili "redemption period", vjerovatno ističe. Možeš provjeriti i backlinkove koristeći besplatni API poput Open PageRank, iako će ti trebati API ključ. Drži provjere lagane, jer previše zahtjeva će te usporiti.

Korak 4: Kako zakazati automatsko pokretanje skripte?

Koristi cron na Linuxu ili Task Scheduler na Windowsu. Pokreći skriptu jednom dnevno, ili svakih nekoliko sati ako juriš vruće dropove. Jednostavan cron red izgleda ovako:

0 6 * * * cd /putanja/do/skripte && python3 hunt.py

To je pokreće svako jutro u 6 sati. Dobićeš rezultate prije dnevne navale. Možeš koristiti i schedule biblioteku ako više voliš da sve ostane u Pythonu.

Korak 5: Kako dobiti obavijesti kad se nađe poklapanje?

Email, Telegram ili Slack. Najlakši je Telegram, jer možes poslati poruku jednostavnim POST zahtjevom. Napravi bota, dobij chat ID i koristi requests.post da pošalješ poruku kad tvoj filter pronađe nešto.

import requests

def send_alert(domain):
    token = "TVOJ_BOT_TOKEN"
    chat_id = "TVOJ_CHAT_ID"
    text = f"Pronađeno: {domain}"
    url = f"https://api.telegram.org/bot{token}/sendMessage"
    requests.post(url, data={"chat_id": chat_id, "text": text})

Sad dobijaš pingove na telefon bez diranja skripte. Samo zapamti da bot token držiš privatnim.

Korak 6: Kako postupiti s rezultatima i odlučiti šta kupiti?

Kad stigne obavijest, i dalje trebaš ručno provjeriti. Koristi registrara poput Namecheap ili GoDaddy da vidiš tačnu cijenu, i provjeri Wayback Machine za historijski sadržaj. Nije svaka istekla domena vrijedna naknade za registraciju.

Ako kupiš jednu pa se ispostavi da je promašaj, možeš sahraniti svoj mrtvi projekat za jedan dolar. Jeftin način da pustiš. A ako tražiš inspiraciju ili povoljnu priliku, pretraži groblje da vidiš šta su drugi napustili.

Šta može poći po zlu s automatiziranim lovom?

Mnogo toga. Skripta može puknuti kad sajt promijeni HTML strukturu. Možeš biti rate-limited ili IP-blokiran. Možeš filtrirati previše agresivno i propustiti dobra imena, ili previše labavo i biti preplavljen smećem.

Također, tržište domena se brzo kreće. Ime koje izgleda slobodno može neko drugi registrovati prije nego tvoj cron posao stigne. To je normalno. Ugradi ponovni pokušaj ili čekanje, i ne veži se ni za jednu pojedinačnu domenu.

Da li ti zaista treba automatizirati ovo?

Ako provjeravaš dropove jednom sedmično, ne. Ali ako osvježavaš liste svakodnevno, skripta štedi sate. Također ti omogućava brže djelovanje kad se pojavi dobro ime. Brzina je bitna u lovu na istekle domene, jer dobra imena nestaju za nekoliko minuta.

Mana je što automatizacija može uspavati osjećaj produktivnosti. Nisi produktivan. Samo brže filtriraš. Pravi posao je i dalje u ručnom pregledu.

Gdje odavde?

Počni malo. Odaberi jedan izvor, jedan filter i jedan metod obavještavanja. Neka to proradi prije nego dodaš složenost. Onda proširi na više izvora ili više filtera. Skripta ne mora biti savršena, samo treba da radi.

A ako završiš sa domenom koju ne želiš, ne pusti da trune. Sahrani je na dead.domains i pusti nekog drugog da joj da drugi život. To je ciklus digitalne imovine, i čudno je zadovoljavajuće.

Posjeti dead.domains da vidiš šta je već sahranjeno.

FAQ

Da li je legalno skrejpovati liste isteklih domena?

Da, sve dok poštuješ robots.txt i rate limite. Javne liste su namijenjene gledanju, ali prebrzo skrejpovanje može dovesti do blokade. Koristi razumne odgode i ispravan user-agent. Ako sajt ima plaćeni API, razmisli o njegovom korištenju da izbjegneš pravne glavobolje.

Koja je najbolja Python biblioteka za parsiranje HTML-a?

BeautifulSoup je najčešći izbor jer je lak za učenje i dobro radi sa neurednim HTML-om. Za složenije parsiranje možeš koristiti lxml ili Scrapy. Počni s BeautifulSoup i pređi na nešto drugo samo kad udariš u performansne limite.

Koliko često trebam pokretati skriptu za istekle domene?

Jednom dnevno je obično dovoljno za većinu niša. Ako juriš visokovrijedne dropove, pokreći svakih nekoliko sati. Imaj na umu da češće pokretanje povećava šansu da budeš rate-limited, pa balansiraj brzinu sa sigurnošću.

Mogu li automatizirati cijeli proces kupovine?

Djelimično. Možeš automatizirati provjeru dostupnosti i čak backordering, ali stvarna registracija obično zahtijeva ručnu potvrdu. Neki registrari nude API-je za automatske kupovine, ali često imaju minimalne bilanse ili zahtijevaju odobrenje. Ne očekuj potpuno automatiziran proces.

Šta da radim ako skripta prestane raditi?

Prvo provjeri HTML strukturu sajta. Sajtovi često mijenjaju izgled, pa tvoji selektori mogu puknuti. Dodaj obradu grešaka u skriptu tako da zabilježi problem i javi ti. Onda ažuriraj selektore i ponovo pokreni. To je normalan održavateljski zadatak.