← Обратно към Бюрото за некролози

Автоматизирано ловлене на изтекли домейни с Python

Публикувано от Peter Nagy · С помощта на AI · 8 август 2026 г. · 5 мин четене

Aвтоматизировано ловлене на изтекли домейни означая замяна на ръчно опресняне на списъци с Python скрипт, който проверя drop листове, филтрира по метрики и ви алармира. Ще използвате requests, BeautifulSoup и прост cron job. Не е нещо сложно, но превръща часове в минути. А кога намерите несполучен домейн, винаги можете го погребати по-късно.

Какво точно прави автоматизировано ловлене на изтекли домейни?

Превръща отегчителна и повтаряща се задача в скрипт, който работи сам. Пишете Python код, който извлика списъци с изтекли домейни от публични извори, проверя всяко име по вашите правила и ви праща сообщение, кога нещо съвпада. Нема нужда да се будите в 3 сутрин, да видите дали 4-буквения .IO най-после е паднал.

Основния цикл е прост: извлики, филтрирай, алармирай. Можете го пусцати на ефтин VPS или на вашия компютър с cron job. Цело нещо може да се направи за половин ден, дори ако не сте професионален разработчик.

Предварителни изисквания: Какво трябва преди да напишете скрипт?

Няколко основни неща. Трябва Python 3.8 или новее, плюс текстов редактор. Ще ви трябва и безплатен акаунт в услуга за домейни API, като WhoisXMLAPI или RDAP, да проверявате дати на регистрация. Бюджет за тази стъпка е нула лева, тенко ако не искате да платите за по-високи лимити на заявки.

Трябва ви и ясен филтр. Знайте какво търсите: брой слове, дължина, разширение, обратни връзки или специфична ниша. Запишите го преди да кодите, инак ще имате скрипт, който ви алармира за всяки случаен домейн в интернет.

Стъпка 1: Как извликате списъци с изтекли домейни?

Започнете с публични drop listove. Услуги като ExpiredDomains.net и NameJet публикуват дневни списъци, хоят не винаги са лесни за скрапинг. Използвайте requests и BeautifulSoup, да извликите HTML и да разберете редове от таблица.

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

Това ви дава сурову страница. Потом извликате имена домейнов от таблица. Болшинство списъци използват подобна структура, така че няколко find_all извиквания ще ви стигнат. Бъдете учтиви с rate limits, инак ще бъдете блокирани.

Стъпка 2: Как филтрирате домейни с Python?

Филтри са там, где се случва магия. Напишете функция, койта приема домейн и враща True или False на основа на вашите правила. Например, можете искати само .com домейни с точно 6 букви и без тире.

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

Можете и филтрирати по списъци с ключови слове. Ако търсите фитнес домейни, държите списък с релевантни слове и проверяйте дали се появят. Използвайте re за regex съвпадения, ако ви трябва по-сложни модели.

Стъпка 3: Как проверяте наличие и метрики на домейн?

След като имате филтриран списък, трябва да знаете дали домейна наистина изтича. Използвайте RDAP да проверите статус на регистрация. Библиотеката rdap прави това лесно.

import rdap

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

Ако статус включва "pending delete" или "redemption period", вероято изтича. Можете и проверити обратни връзки с безплатен API като Open PageRank, хоят ще ви трябва API ключ. Държите проверки леки, защето много заявки ще ви забавят.

Стъпка 4: Как планирате скрипта да се пусца автоматически?

Използвайте cron на Linux или Task Scheduler на Windows. Пусцайте скрипта един път на ден, или всяки няколко часове, ако гоните горещи dropove. Прост cron ред изгледа така:

0 6 * * * cd /path/to/script && python3 hunt.py

Това го пусца всяки сутрин в 6 часу. Ще получите резултати преди дневния наплив. Можете и използвати библиотека schedule, ако предпочитате държати всичко в Python.

Стъпка 5: Как получате аларми, кога се намери съвпадение?

Имейл, Telegram или Slack. Най-лесния е Telegram, защете можете прати сообщение с прост POST заявка. Създайте бот, вземете chat ID и използвайте requests.post да пратите сообщение, кога вашия филтр намери нещо.

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

Сега получате пикания на телефона без да пипате скрипта. Просто запомнете държати bot token в тайна.

Стъпка 6: Как обработвате резултати и решате какво да купите?

Кога аларма дойде, все равно трябва да направите ръчна проверка. Използвайте регистратор като Namecheap или GoDaddy да видите точна цена и проверете Wayback Machine за историческо съдържание. Не всяки изтекъл домейн струга регистрационна такса.

Ако купите един и той се окаже несполучен, можете погребати вашия мъртв проект за един долар. Ефтин начин да се откажете. И ако търсите вдъхновение или евтиния, разгледайте гробището да видите какво други са изоставили.

Какво може да се обърка при автоматезировано ловлене?

Много неща. Вашия скрипт може да се счупи, кога сайта промени своя HTML структура. Може да бъдете rate-limited или IP-blocked. Може да филтрирате прекалено агресивно и да пропуснете добри имена, или прекалено широко и да се заливате с боклук.

Также, пазара на домейни се движа бързо. Име, кое изгледа свободно, може да бъде регистрирано от друг преди вашия cron job да работи. Това е нормално. Вградете retry или чакане и не се привръзвайте къ ни един домейн.

Наистина ви трябва да автоматезирате това?

Ако проверяте dropove един път в седмица, не. Но ако опресняте списъци дневно, скрипт спестява часове. Такоже ви позволя действати по-бързо, кога се появи добро име. Скорост има значение в ловлене на изтекли домейни, защете добри имена изчезват в минути.

Недостаток е, че автоматезация може да ви залъже, карая ви да мислите, че сте продуктивни. Не сте. Просто филтрирате по-бързо. Истинска работа все еще в ръчна проверка.

Откуда продължите от тук?

Започнете с малко. Изберете един извор, един филтр и един метод за алармиране. Направете това да работи, преди да добавите сложност. Потом разширете до повече извори или повече филтри. Скрипта не трябва да е перфектен, просто трябва да работи.

И ако свършите с домейн, който не искате, не го оставяйте гнити. Погребайте го на dead.domains и оставяйте друг да му даде втор живот. Това е цикл на цифрово свойство и е странно удовлетворително.

Отидете на dead.domains да видите какво вече е погребано.

ЧЗВ

Е легално да скрапирам списъци с изтекли домейни?

Да, докато спазвате robots.txt и rate limits. Публични списъци са предназначени за гледане, но скрапинг прекалено бързо може да ви блокира. Използвайте разумни забавяния и правилен user-agent. Ако сайт има платен API, помислете да го използвате, да избегнете правни проблеми.

Коя е най-добра Python библиотека за парсинг на HTML?

BeautifulSoup е най-често използвана, защете е лесно да се научи и работи добри с неподреден HTML. За по-сложен парсинг можете използвати lxml или Scrapy. Започнете с BeautifulSoup и преминете само кога ударите в производителни граници.

Колко често трябва да пусцам скрипта за изтекли домейни?

Обикновено един път на ден е достаточни за болшинство ниши. Ако гоните високоценни dropove, пусцайте го всяки няколко часове. Имайте в вид, че чести пусцания увеличат шанса да бъдете rate-limited, така че балансирайте скорост с безопасност.

Мога да автоматезирам целия процес на купуване?

Частично. Можете автоматезирати проверка на наличие и дори backordering, но само регистриране обикновено изисква ръчно потвърждение. Някотори регистратори предлагат API за автоматезирани покупки, но често имат минимални баланси или изискват одобрение. Не очаквайте напълно hands-off pipeline.

Какво да правя, ако скрипта спре да работи?

Първо проверете HTML структура на сайта. Сайти често променят оформление, така че вашите селектори може да се счупят. Добавете обработка на грешки в скрипта, да логва проблема и да ви алармира. Потом актуализирате селектори и пусцете отново. Това е нормална задача за поддържане.