Automatiziraj lov na istekle domene Python skriptama
Objavio Peter Nagy · Uz pomoć AI-ja · 8. kolovoza 2026. · 5 min čitanja
Automatizirani lov na istekle domene znači zamijeniti ručno osvježavanje popisa Python skriptom koja dohvaća drop liste, filtrira po metrikama i šalje ti obavijest. Koristit ćeš requests, BeautifulSoup i običan cron job. Nije ništa fancy, ali pretvara sate u minute. I kad naletiš na promašaj, uvijek ga možeš pokopati kasnije.
Što zapravo radi automatski lov na istekle domene?
Pretvara dosadan, ponavljajući zadatak u skriptu koju postaviš i zaboraviš. Napišeš Python kod koji dohvaća popise isteklih domena s javnih izvora, provjerava svako ime prema tvojim pravilima i šalje ti poruku kad nešto odgovara. Nema više buđenja u 3 ujutro da vidiš je li napokon ispao onaj 4-sloveni .io.
Osnovna petlja je jednostavna: dohvati, filtriraj, javi. Možeš to vrtiti na jeftinom VPS-u ili na svom računalu pomoću cron joba. Cijela stvar se može složiti u jedno poslijepodne, čak i ako nisi profesionalni programer.
Što ti treba prije pisanja skripte?
Nekoliko osnova. Trebaš Python 3.8 ili noviji, plus uređivač teksta. Trebat će ti i besplatni račun na nekom servisu za API domena poput WhoisXMLAPI ili RDAP da provjeriš datume registracije. Za ovaj korak budžet je nula kuna, osim ako ne želiš platiti za veća ograničenja.
Trebaš i jasan filter. Znaš što loviš: broj riječi, dužinu, ekstenziju, backlinkove ili specifičnu nišu. Zapiši to prije nego počneš kodirati, inače ćeš završiti sa skriptom koja ti javlja za svaku nasumičnu domenu na internetu.
Korak 1: Kako dohvatiti popise isteklih domena?
Kreni s javnim drop listama. Servisi poput ExpiredDomains.net i NameJet objavljuju dnevne popise, iako nisu uvijek laki za struganje. Koristi requests i BeautifulSoup da povučeš HTML i raščlaniš retke tablice.
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 sirovu stranicu. Onda izvuci imena domena iz tablice. Većina lista koristi sličnu strukturu, pa će ti nekoliko find_all poziva biti dovoljno. Budi pristojan s ograničenjima brzine, ili ćeš biti blokiran.
Korak 2: Kako filtrirati domene pomoću Pythona?
Filteri su tu gdje se događa magija. Napiši funkciju koja uzima domenu i vraća True ili False na temelju tvojih pravila. Na primjer, možda želiš samo .com domene s toč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 popisu ključnih riječi. Ako loviš fitness domene, drži popis relevantnih riječi i provjeri pojavljuje li se neka. Koristi re za regex podudaranje ako trebaš složenije obrasce.
Korak 3: Kako provjeriti dostupnost i metrike domene?
Kad imaš filtrirani popis, trebaš znati istječe li domena stvarno. Koristi RDAP da provjeriš status registracije. Biblioteka rdap to čini laganim.
import rdap
def check_status(domain):
data = rdap.query(domain)
return data.get("status", [])
Ako status uključuje "pending delete" ili "redemption period", vjerojatno istječe. Možeš provjeriti i backlinkove pomoću besplatnog API-ja poput Open PageRank, iako će ti trebati API ključ. Drži provjere laganima, jer previše zahtjeva će te usporiti.
Korak 4: Kako zakazati skriptu da se vrti automatski?
Koristi cron na Linuxu ili Task Scheduler na Windowsu. Vrti skriptu jednom dnevno, ili svakih nekoliko sati ako juriš vruće dropove. Jednostavna cron linija izgleda ovako:
0 6 * * * cd /putanja/do/skripte && python3 hunt.py
To je vrti svako jutro u 6 sati. Dobit ćeš rezultate prije dnevne gužve. Možeš koristiti i schedule biblioteku ako više voliš sve držati u Pythonu.
Korak 5: Kako dobiti obavijesti kad se nađe podudaranje?
Email, Telegram ili Slack. Najlakši je Telegram, jer možeš poslati poruku jednostavnim POST zahtjevom. Napravi bota, dobij chat ID i koristi requests.post da pošalješ poruku kad tvoj filter nešto nađe.
import requests
def send_alert(domain):
token = "YOUR_BOT_TOKEN"
chat_id = "YOUR_CHAT_ID"
text = f"Nađeno: {domain}"
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, data={"chat_id": chat_id, "text": text})
Sad dobivaš obavijesti na mobitel bez diranja skripte. Samo pazi da bot token držiš privatnim.
Korak 6: Kako postupiti s rezultatima i odlučiti što kupiti?
Kad stigne obavijest, svejedno trebaš ručno provjeriti. Koristi registrara poput Namecheapa ili GoDaddyja da vidiš točnu cijenu, i provjeri Wayback Machine za povijesni sadržaj. Nije svaka istekla domena vrijedna kotizacije.
Ako kupiš jednu pa se ispostavi da je promašaj, možeš pokopati svoj mrtvi projekt za jedan dolar. Jeftin je način da se oprostiš. A ako tražiš inspiraciju ili povoljnu ponudu, pretraži groblje da vidiš što su drugi napustili.
Što može poći po zlu s automatskim lovom?
Puno toga. Skripta se može pokvariti kad stranica promijeni HTML strukturu. Možeš biti ograničen po brzini ili blokiran po IP-u. Možeš filtrirati preagresivno i propustiti dobra imena, ili preblago i biti preplavljen smećem.
Također, tržište domena se brzo miče. Ime koje izgleda slobodno netko drugi može registrirati prije nego tvoj cron job stigne. To je normalno. Ugradi ponovni pokušaj ili čekanje, i ne veži se ni za jednu domenu.
Trebaš li zbilja automatizirati ovo?
Ako provjeravaš dropove jednom tjedno, ne. Ali ako osvježavaš popise svakodnevno, skripta štedi sate. Također ti omogućava brže reagiranje kad se pojavi dobro ime. Brzina je bitna u lovu na istekle domene, jer dobra imena nestaju u minutama.
Mana je što automatizacija može uspavati u osjećaj da si produktivan. Nisi. Samo brže filtriraš. Pravi posao je još uvijek u ručnom pregledu.
Kamo odavde?
Kreni malo. Odaberi jedan izvor, jedan filter i jedan način obavještavanja. Neka to proradi prije nego dodaš složenost. Onda proširi na više izvora ili filtera. Skripta ne treba biti savršena, samo treba raditi.
A ako završiš s domenom koju ne želiš, ne daj da trune. Pokopaj 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š što je već pokopano.
FAQ
Je li legalno strugati popise isteklih domena?
Da, dok god poštuješ robots.txt i ograničenja brzine. Javni popisi su namijenjeni gledanju, ali struganje prebrzo može dovesti do blokade. Koristi razumne odgode i odgovarajući user-agent. Ako stranica 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 lagan za naučiti i dobro radi s neurednim HTML-om. Za složenije parsiranje možeš koristiti lxml ili Scrapy. Kreni s BeautifulSoupom i prebaci se samo kad udariš u performansna ograničenja.
Koliko često trebam vrtiti skriptu za istekle domene?
Jednom dnevno je obično dovoljno za većinu niša. Ako juriš visokovrijedne dropove, vrti je svakih nekoliko sati. Imaj na umu da češće vrtnje povećavaju šansu da budeš ograničen po brzini, pa balansiraj brzinu sa sigurnošću.
Mogu li automatizirati cijeli proces kupnje?
Djelomično. Možeš automatizirati provjeru dostupnosti i čak predbilježbu, ali stvarna registracija obično zahtijeva ručnu potvrdu. Neki registrari nude API-je za automatske kupnje, ali često imaju minimalne stanja ili traže odobrenje. Ne očekuj potpuno automatizirani cjevovod.
Što trebam napraviti ako skripta prestane raditi?
Prvo provjeri HTML strukturu stranice. Stranice često mijenjaju izgled, pa tvoji selektori mogu puknuti. Dodaj obradu grešaka u skriptu da zabilježi problem i javi ti. Onda ažuriraj selektore i ponovno pokreni. To je normalan održavni zadatak.