用Python脚本自动追踪过期域名
发布者:Peter Nagy · AI 辅助 · 2026年8月8日 · 阅读需 5 分钟
自动追踪过期域名,就是用Python脚本代替手动刷列表:定时拉取掉落域名、按规则过滤、再给你发警报。你会用到requests、BeautifulSoup,再加个cron定时任务。不花哨,但能把几小时缩成几分钟。就算买到不合适的域名,大不了后面把它埋了。
自动追踪过期域名到底是干什么的?
就是把无聊重复的活儿变成一次设置、一劳永逸的脚本。你写段Python代码,从公开来源抓取过期域名列表,按自己定的规则检查每个域名,匹配了就发消息通知你。不用再半夜3点爬起来看那个4字母.io有没有掉下来。
核心循环很简单:抓取、过滤、提醒。你可以把它跑在便宜的VPS上,或者用自己的机器加个cron定时任务。哪怕你不是专业开发者,一个下午也能搞定。
写脚本之前需要准备什么?
几个基础东西。你需要Python 3.8或更新版本,再加一个文本编辑器。还要在域名API服务(比如WhoisXMLAPI或RDAP)上注册一个免费账号,用来查注册日期。这一步预算为零,除非你想花钱买更高的请求限额。
另外,你得有个清晰的过滤条件。想清楚你要找什么:单词数量、长度、后缀、外链数量,或者某个特定领域。先写下来再动手,否则你的脚本会把互联网上所有随机域名都通知你。
第一步:怎么抓取过期域名列表?
从公开的掉落列表开始。像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调用就能搞定。注意礼貌一点,别太快请求,否则会被封。
第二步:怎么用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做正则匹配。
第三步:怎么检查域名是否可用和相关指标?
拿到过滤后的列表,你得知道域名是不是真的在过期。用RDAP检查注册状态。rdap库让这事变得简单。
import rdap
def check_status(domain):
data = rdap.query(domain)
return data.get("status", [])
如果状态包含"pending delete"或"redemption period",那很可能正在过期。你也可以用免费API(比如Open PageRank)检查外链,不过需要API key。检查要轻量,请求太多会拖慢速度。
第四步:怎么让脚本自动定时运行?
Linux上用cron,Windows上用Task Scheduler。每天跑一次,或者如果你追的是热门掉落,每几小时跑一次。cron一行搞定:
0 6 * * * cd /path/to/script && python3 hunt.py
这样每天早上6点运行,结果在别人还没起床之前就出来了。如果你想把定时逻辑全放在Python里,也可以用schedule库。
第五步:找到匹配域名后怎么收到提醒?
邮件、Telegram或Slack。最简单的是Telegram,发一条POST请求就行。创建一个bot,拿到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。
第六步:怎么处理结果并决定买哪个?
收到提醒后,你还是要手动检查。用Namecheap或GoDaddy这类注册商查看具体价格,再用Wayback Machine看看历史内容。不是每个过期域名都值那点注册费。
如果你买了一个域名结果发现是烂摊子,可以花1美元在dead.domains上把它埋葬。放手的方式很便宜。如果你想找灵感或捡便宜,就去逛一逛域名墓地,看看别人都扔掉了什么。
自动追踪可能出什么问题?
问题不少。网站改了HTML结构,你的脚本就会崩溃。你可能被限速或被封IP。过滤条件太严会错过好域名,太松又会被垃圾域名淹没。
另外,域名市场变化很快。一个看起来还没注册的域名,可能在你的cron任务运行之前就被别人抢了。这很正常。脚本里加点重试或等待逻辑,别对单个域名太执着。
你真的需要自动化吗?
如果你只是每周检查一次掉落,那不需要。但如果你每天刷列表,脚本能省下好几个小时。而且好域名出现时你能更快行动。速度在过期域名追踪里很重要,因为好名字几分钟内就会消失。
缺点是自动化会让你误以为自己很高效。其实并没有,你只是过滤得更快了。真正的工作还是手动审查。
接下来怎么走?
从小处开始。选一个来源、一个过滤条件、一种提醒方式。先让它跑通,再增加复杂度。然后扩展到更多来源或更多过滤条件。脚本不需要完美,能跑就行。
如果你最后买了个不想要的域名,别让它烂在那儿。去dead.domains把它埋葬,让其他人给它第二次生命。这就是数字资产的轮回,还挺有满足感的。
去dead.domains看看已经埋葬了哪些域名。
常见问题
爬取过期域名列表合法吗?
只要遵守robots.txt和请求速率限制就没问题。公开列表本来就是给人看的,但爬太快会被封。用合理的延迟和合适的user-agent。如果网站有付费API,考虑用API来避免法律麻烦。
解析HTML最好用哪个Python库?
BeautifulSoup最常见,因为它容易学,处理乱HTML也还行。如果需要更复杂的解析,可以用lxml或Scrapy。从BeautifulSoup开始,遇到性能瓶颈再换。
过期域名脚本多久跑一次合适?
大多数领域一天一次就够了。如果你追的是高价值掉落,可以每几小时一次。注意频率越高越容易被限速,要在速度和安全性之间找平衡。
能不能把购买过程也自动化?
只能部分自动化。你可以自动检查可用性甚至预订单,但实际注册通常需要手动确认。有些注册商提供API自动购买,但往往有最低余额或需要审批。别指望完全不用管。
脚本突然不工作了怎么办?
先检查网站HTML结构。网站经常改版,你的选择器可能失效。给脚本加上错误处理,让它记录问题并通知你。然后更新选择器重新运行。这是日常维护。