Kaip automatizuoti pasibaigusiu domenu paieska su Python
Paskelbė Peter Nagy · Padedant DI · 2026 m. rugpjūčio 8 d. · 5 min skaitymo
Automatizuota pasibaigusiu domenu paieska - tai rankinio sarasu atnaujinimo pakeitimas Python skriptu, kuris tikrina krentancius sarasus, filtruoja pagal kriterijus ir pranesa. Naudosi requests, BeautifulSoup ir paprasta cron uzduoti. Nieko ipatingo, bet valandos virsta minutemis. O jei randi netinka, visada gali ji palaidoti.
Ka tiksliai daro automatizuota pasibaigusiu domenu paieska?
Tai nuobodu, pasikartojanti uzduoti paversia skriptu, kuri paleidai ir pamirsti. Rasai Python koda, kuris ima pasibaigusiu domenu sarasus is viešu saltiniu, tikrina kiekviena pavadinima pagal tavo taisykles ir atsiuncia zinute, kai kas nors atitinka. Daugiau nebereikia keltis 3 valanda nakties, kad pamatytum, ar pagaliau nukrito 4 raidziu .io domenas.
Pagrindinis ciklas paprastas: gauti, filtruoti, pranesti. Gali paleisti ant pigaus VPS ar savo kompiuterio su cron uzduotimi. Visa tai galima susikurti per popiete, net jei nesate profesionalus programuotojas.
Ko reikia pries rasant skripta?
Keletas pagrindiniu dalyku. Reikia Python 3.8 ar naujesnes versijos ir teksto redaktoriaus. Taip pat pravers nemokama paskyra domenu API tarnyboje, kaip WhoisXMLAPI ar RDAP, kad patikrintum registracijos datas. Siame zingsnyje islaidos - nulis, nebent nori moketi uz didesnius uzklausu limitus.
Taip pat reikia aiskiu filtru. Zinok, ko ieskai: zodziu skaicius, ilgis, galune, atgalines nuorodos ar konkreti nisa. Uzrasyk tai pries pradedamas koduoti, kitaip gausi skripta, kuris pranesa apie kiekviena atsitiktini domeno pavadinima internete.
1 zingsnis: kaip gauti pasibaigusiu domenu sarasus?
Pradek nuo viešu krentanciu sarasu. Tarnybos kaip ExpiredDomains.net ir NameJet skelbia dienos sarasus, nors juos nuskaityti ne visada lengva. Naudok requests ir BeautifulSoup, kad gautum HTML ir isanalizuotum lenteles eilutes.
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")
Tai duoda zalia puslapi. Tada is lenteles isrenki domenu pavadinimus. Dauguma sarasu turi panasia struktura, tad keli find_all kvietimai padės. Būk mandagus su uzklausu limitu, kitaip gali gauti bloka.
2 zingsnis: kaip filtruoti domenus su Python?
Filtrai - cia ir vyksta magija. Rasai funkcija, kuri priima domena ir grazina True arba False pagal tavo taisykles. Pavyzdziui, galima norėti tik .com domenus su lygiai 6 raidemis ir be bruksneliu.
def is_worth_checking(domain):
name, ext = domain.split(".")
return ext == "com" and len(name) == 6 and "-" not in name
Taip pat gali filtruoti pagal raktazodziu sarasus. Jei ieskai fitneso domenu, laikyk sarasa su atitinkamais zodziais ir tikrink, ar kuris nors pasikartoja. Naudok re regex atitikimams, jei reikia sudetingesniu sablonu.
3 zingsnis: kaip patikrinti domeno prieinamuma ir metrikas?
Kai turi filtruota sarasa, reikia suzinoti, ar domenas tikrai baigia galioti. Naudok RDAP registracijos statusui patikrinti. rdap biblioteka tai palengvina.
import rdap
def check_status(domain):
data = rdap.query(domain)
return data.get("status", [])
Jei statusas rodo "pending delete" ar "redemption period", domenas tikriausiai baigia galioti. Taip pat gali patikrinti atgalines nuorodas naudodamas nemokama API kaip Open PageRank, bet reikes API rakto. Nelaikyk patikrų per sunkiu, nes per daug uzklausu sulėtins darba.
4 zingsnis: kaip suplanuoti skripto paleidima automatiskai?
Naudok cron Linux sistemoje arba Task Scheduler Windows. Paleisk skripta karta per diena ar kas kelias valandas, jei medzioji karstus krentancius domenus. Paprasta cron eilute atrodo taip:
0 6 * * * cd /path/to/script && python3 hunt.py
Tai paleidzia kiekviena ryta 6 valanda. Rezultatus gausi pries dienos spusti. Taip pat gali naudoti schedule biblioteka, jei nori viska laikyti Python.
5 zingsnis: kaip gauti pranesimus, kai randama atitikmuo?
El. pastas, Telegram arba Slack. Lengviausia - Telegram, nes gali atsiusti zinute su paprastu POST uzklausa. Sukurk bota, gauk pokalbio ID ir naudok requests.post, kad atsiustum zinute, kai filtras ką nors randa.
import requests
def send_alert(domain):
token = "YOUR_BOT_TOKEN"
chat_id = "YOUR_CHAT_ID"
text = f"Found: {domain}"
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, data={"chat_id": chat_id, "text": text})
Dabar gausi pranesimus i telefona neliesdamas skripto. Tik nepamirsk laikyti boto tokeno paslaptyje.
6 zingsnis: kaip ivertinti rezultatus ir nuspresti, ka pirkti?
Kai ateina pranesimas, vis tiek reikia rankiniu patikrų. Naudok registratoriu kaip Namecheap ar GoDaddy, kad pamatytum tikslią kaina, ir patikrink Wayback Machine istorini turini. Ne kiekvienas pasibaiges domenas vertas registracijos mokescio.
Jei nusipirkai ir paaiškejo, kad jis netinka, gali palaidoti savo mirusi projekta uz doleri. Tai pigus budas paleisti. O jei ieskai inspiracijos ar pigaus pirkinio, apziurek kapines, ka kiti apleido.
Kas gali nepavykti automatizuotoje paieskoje?
Daug kas. Tavo skriptas gali sulūzti, kai svetaine pakeicia HTML struktura. Gali gauti uzklausu limitą arba IP bloka. Gali filtruoti per grieztai ir praleisti gerus vardus, arba per laisvai ir gauti siuksliu srauta.
Be to, domenu rinka juda greitai. Vardas, kuris atrodo laisvas, gali buti uzregistruotas kito, kol tavo cron uzduotis dar nepaleista. Tai normalu. Įdiek pakartotinį bandyma ar laukima ir neprisirisk prie vieno domeno.
Ar tikrai reikia tai automatizuoti?
Jei tikrini krentancius domenus karta per savaite, ne. Bet jei kasdien atnaujini sarasus, skriptas sutaupo valandas. Taip pat leidzia veikti greiciau, kai pasirodo geras vardas. Greitis svarbus pasibaigusiu domenu paieskoje, nes geri vardai dingsta per kelias minutes.
Minusas - automatizacija gali sudaryti iliuzija, kad esi produktyvus. Tu ne. Tik greiciau filtruoji. Tikrasis darbas vis tiek lieka rankineje perziuroje.
Ka daryti toliau?
Pradėk nuo mazo. Pasirink viena saltini, viena filtra ir viena pranesimo buda. Suvesk tai i darba, o tik tada pridėk sudėtingumo. Tada plečk prie daugiau saltiniu ar filtru. Skriptui nereikia buti tobuliems, tik veikti.
O jei gausi domena, kurio nenori, neleisk jam pūti. Palaidok ji dead.domains ir leisk kitam suteikti antra gyvenima. Toks skaitmenines nuosavybes ciklas, ir tai stebėtinai malonu.
Užsuk i dead.domains, kad pamatytum, kas jau palaidota.
DUK
Ar teisėta nuskaityti pasibaigusių domenų sąrašus?
Taip, jei gerbi robots.txt ir užklausų limitus. Vieši sąrašai skirti peržiūrai, bet per greitas skaitymas gali užblokuoti. Naudok pagrįstas pauzes ir tinkamą user-agent. Jei svetainė turi mokamą API, apsvarstyk ją, kad išvengtum teisinių problemų.
Kuri Python biblioteka geriausia HTML analizei?
BeautifulSoup yra populiariausias pasirinkimas, nes lengva išmokti ir gerai veikia su netvarkingu HTML. Sudėtingesniam analizavimui gali naudoti lxml ar Scrapy. Pradėk nuo BeautifulSoup ir pereik prie kitų tik kai pasieksi našumo ribas.
Kaip dažnai turėčiau paleisti savo pasibaigusių domenų skriptą?
Paprastai užtenka kartą per dieną daugumai nišų. Jei medžioji vertingus krentančius domenus, paleisk kas kelias valandas. Atmink, kad dažnesnis paleidimas didina tikimybę gauti užklausų limitą, tad subalansuok greitį ir saugumą.
Ar galiu automatizuoti visą pirkimo procesą?
Iš dalies. Gali automatizuoti prieinamumo tikrinimą ir net užsakymą, bet pati registracija dažniausiai reikalauja rankinio patvirtinimo. Kai kurie registratoriai siūlo API automatiniams pirkimams, bet jie dažnai reikalauja minimalaus balanso arba patvirtinimo. Nesitikėk visiškai automatizuoto proceso.
Ką daryti, jei mano skriptas nustoja veikti?
Pirmiausia patikrink svetainės HTML struktūrą. Svetainės dažnai keičia išdėstymą, tad tavo selektoriai gali nebeveikti. Įdiek klaidų apdorojimą, kad skriptas užfiksuotų problemą ir praneštų. Tada atnaujink selektorius ir paleisk iš naujo. Tai įprasta priežiūros užduotis.