Automatsko lovljenje isteklih domena uz Python
Objavio Peter Nagy · Uz pomoć AI-ja · 8. август 2026. · 5 min čitanja
Automatsko lovljenje isteklih domena znaci da rucno osvezavanje lista zamenjujes Python skriptom koja povlaci drop liste, filtrira po metrici i salje obavestenje. Koristices requests, BeautifulSoup i obican cron posao. Nije nista fensi, ali pretvara sate u minute. A kad naidjes na promašaj, uvek mozes da ga zakopas kasnije.
Sta tacno radi automatsko lovljenje isteklih domena?
Pretvara dosadan, ponavljajuci zadatak u skriptu koju pokrenes i zaboravis. Napises Python kod koji preuzima liste isteklih domena sa javnih izvora, proverava svaki naziv po tvojim pravilima i salje poruku kad nadje pogodak. Nema vise budjenja u 3 ujutro da vidis da li je pao onaj 4-slovni .io.
Osnovna petlja je jednostavna: preuzmi, filtriraj, obavesti. Mozes da je pokrenes na jeftinom VPS-u ili na svom racunaru putem cron posla. Celi projekat moze da se napravi za jedno popodne, cak i ako nisi profesionalni programer.
Sta ti treba pre nego sto napises skriptu?
Nekoliko osnova. Treba ti Python 3.8 ili noviji, plus tekst editor. Treba ti i besplatan nalog na nekom API servisu za domene, kao sto je WhoisXMLAPI ili RDAP, da proveravas datume registracije. Budzet za ovaj korak je nula dinara, osim ako neces da platis za vece granice zahteva.
Treba ti i jasan filter. Znaj sta trazis: broj reci, duzina, ekstenzija, backlinkovi ili odredjena oblast. Zapisi to pre nego sto krenes da kodiras, inace ces dobiti skriptu koja te obavestava o svakom nasumicnom domenu na internetu.
Korak 1: Kako preuzeti liste isteklih domena?
Kreni sa javnim drop listama. Servisi kao ExpiredDomains.net i NameJet objavljuju dnevne liste, iako nije uvek lako ih ostrugati. Koristi requests i BeautifulSoup da povuces HTML i izvuces 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 sirovu stranicu. Onda izvlacis imena domena iz tabele. Vecina lista ima slicnu strukturu, pa ce ti nekoliko find_all poziva biti dovoljno. Budi pristojan sa granicama zahteva, inace ces biti blokiran.
Korak 2: Kako filtrirati domene pomocu Pythona?
Filteri su mesto gde se desava magija. Napisi funkciju koja uzima domen i vraca True ili False na osnovu tvojih pravila. Na primer, mozda zelis samo .com domene sa tacno 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
Mozes filtrirati i po listi kljucnih reci. Ako trazis fitnes domene, napravi listu relevantnih reci i proveri da li se neka pojavljuje. Koristi re za regex podudaranje ako ti trebaju slozeniji obrasci.
Korak 3: Kako proveriti dostupnost i metrike domena?
Kad dobijes filtriranu listu, treba da znas da li domen stvarno istice. Koristi RDAP da proveris status registracije. Biblioteka rdap ovo cini lakim.
import rdap
def check_status(domain):
data = rdap.query(domain)
return data.get("status", [])
Ako status ukljucuje "pending delete" ili "redemption period", verovatno istice. Mozes proveriti i backlinkove koristeci besplatan API kao Open PageRank, mada ce ti trebati API kljuc. Drzi provere lake, jer previse zahteva ce te usporiti.
Korak 4: Kako zakazati automatsko pokretanje skripte?
Koristi cron na Linuxu ili Task Scheduler na Windowsu. Pokreci skriptu jednom dnevno, ili svakih nekoliko sati ako juris vruce dropove. Jednostavan cron red izgleda ovako:
0 6 * * * cd /putanja/do/skripte && python3 hunt.py
To je pokrece svako jutro u 6 sati. Dobices rezultate pre dnevne guzve. Mozes koristiti i schedule biblioteku ako vise volis da sve ostane u Pythonu.
Korak 5: Kako dobiti obavestenje kad se nadje pogodak?
Email, Telegram ili Slack. Najlakse je Telegram, jer mozes poslati poruku jednostavnim POST zahtevom. Napravi bota, dobij chat ID i koristi requests.post da posaljes poruku kad tvoj filter nadje nesto.
import requests
def send_alert(domain):
token = "TVOJ_BOT_TOKEN"
chat_id = "TVOJ_CHAT_ID"
text = f"Nadjen: {domain}"
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, data={"chat_id": chat_id, "text": text})
Sad dobijas obavestenja na telefonu bez diranja skripte. Samo zapamti da bot token drzis u tajnosti.
Korak 6: Kako postupiti sa rezultatima i odluciti sta kupiti?
Kad stigne obavestenje, i dalje treba rucno proveriti. Koristi registrator kao Namecheap ili GoDaddy da vidis tacnu cenu, i proveri Wayback Machine za istorijski sadrzaj. Nije svaki istekli domen vredan naknade za registraciju.
Ako kupis jedan i ispadne promašaj, mozes zakopati svoj mrtvi projekat za jedan dolar. Jeftin nacin da ga pustis. A ako trazis inspiraciju ili jeftinu ponudu, pregledaj groblje da vidis sta su drugi napustili.
Sta moze da krene naopako sa automatskim lovljenjem?
Dosta stvari. Tvoja skripta moze da se pokvari kad sajt promeni HTML strukturu. Mozes biti ogranicen po brzini ili blokiran po IP-u. Mozes filtrirati previse agresivno i propustiti dobra imena, ili previse labavo i biti preplavljen smecem.
Takodje, trziste domena se brzo krece. Ime koje izgleda slobodno moze neko drugi da registruje pre nego sto tvoj cron posao stigne da se pokrene. To je normalno. Ugradi ponovni pokusaj ili cekanje, i ne vezuj se ni za jedan domen.
Da li ti stvarno treba automatizacija?
Ako proveravas dropove jednom nedeljno, ne. Ali ako svakodnevno osvezavas liste, skripta ti stedi sate. Takodje ti omogucava brzu reakciju kad se pojavi dobro ime. Brzina je bitna u lovljenju isteklih domena, jer dobra imena nestaju za nekoliko minuta.
Mana je sto automatizacija moze da te uspava u uverenju da si produktivan. Nisi. Samo brze filtriras. Pravi posao je i dalje u rucnom pregledu.
Odakle nastaviti?
Kreni od malog. Izaberi jedan izvor, jedan filter i jedan nacin obavestavanja. Neka to proradi pre nego sto dodas slozenost. Onda prosiri na vise izvora ili vise filtera. Skripta ne mora da bude savrsena, samo treba da radi.
A ako zavrsis sa domenom koji ne zelis, ne daj da trune. Zakopaj ga na dead.domains i pusti nekog drugog da mu da drugi zivot. To je ciklus digitalne svojine, i cudno je zadovoljavajuce.
Svrati na dead.domains da vidis sta je vec zakopano.
FAQ
Da li je legalno ostrugati liste isteklih domena?
Da, sve dok postujete robots.txt i granice zahteva. Javne liste su namenjene pregledu, ali prebrzo struganje moze dovesti do blokade. Koristi razumne pauze i odgovarajuci user-agent. Ako sajt ima placeni API, razmisli o njegovom koriscenju da izbegnes pravne glavobolje.
Koja je najbolja Python biblioteka za parsiranje HTML-a?
BeautifulSoup je najcesci izbor jer je lak za ucenje i dobro radi sa neurednim HTML-om. Za slozenije parsiranje, mozes koristiti lxml ili Scrapy. Kreni sa BeautifulSoup i prebaci se samo kad udaris u granice performansi.
Koliko cesto treba da pokrecem skriptu za istekle domene?
Jednom dnevno je obicno dovoljno za vecinu oblasti. Ako juris visokovredne dropove, pokreci je svakih nekoliko sati. Imaj na umu da cesce pokretanje povecava sansu da budes ogranicen po brzini, pa balansiraj brzinu sa sigurnoscu.
Mogu li automatizovati ceo proces kupovine?
Delimicno. Mozes automatizovati proveru dostupnosti, pa cak i backorder, ali stvarna registracija obicno zahteva rucnu potvrdu. Neki registratori nude API za automatske kupovine, ali cesto imaju minimalne bilanse ili zahtevaju odobrenje. Ne ocekuj potpuno automatizovan tok.
Sta da radim ako skripta prestane da radi?
Prvo proveri HTML strukturu sajta. Sajtovi cesto menjaju izgled, pa tvoji selektori mogu da se pokvare. Dodaj obradu gresaka u skriptu tako da prijavi problem i obavesti te. Onda azuriraj selektore i ponovo pokreni. To je normalan odrzavajuci posao.