You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化域名生成器,实现.、-、_多种分隔符的灵活组合输出?

域名生成器分隔符灵活组合优化方案

需求说明

当前域名生成代码仅用.分隔所有部分,输出格式单一(如login.download.web.co.id),需要实现.、-、_三种分隔符的随机灵活组合,同时避免重复代码,支持生成类似login-download.web.co.id、login.download-web.co.id的多样格式。

实现方案

通过定义分隔符选项池,对需要可变分隔的部分(随机选取的子域名 + web标识),逐个随机选择分隔符进行拼接,最后固定拼接后缀suffix即可。

修改后的完整代码

import random

web = 'web'
suffix = 'co.id'
output_count = 50
subdomain_count = 2
# 定义所有可用的分隔符选项
separators = ['.', '-', '_']

def join_with_random_separators(parts):
    """将传入的字符串列表用随机分隔符连接"""
    if not parts:
        return ""
    result = parts[0]
    for part in parts[1:]:
        # 每次随机选一个分隔符
        result += random.choice(separators) + part
    return result

# 假设Test是已预先定义的子域名候选列表
with open("Combined.txt", "w") as Example:
    for _ in range(output_count):
        # 随机选取指定数量的子域名
        selected_subdomains = [random.choice(Test) for _ in range(subdomain_count)]
        # 组合需要随机分隔的部分:子域名 + web标识
        variable_components = selected_subdomains + [web]
        # 用随机分隔符连接可变部分
        combined_variable = join_with_random_separators(variable_components)
        # 拼接后缀得到完整域名
        full_domain = f"{combined_variable}.{suffix}"
        Example.write(full_domain + "\n")

with open("dictionaries/examples.txt") as f:
    websamples = [line.rstrip() for line in f]

代码说明

  1. 分隔符池:separators变量列出所有允许使用的分隔符,后续可直接修改该列表调整可选分隔符。
  2. 随机拼接函数:join_with_random_separators函数负责对传入的字符串列表,逐个随机选择分隔符连接,实现相邻元素间的分隔符多样化。
  3. 核心逻辑:每次循环中,先随机选子域名,再和web合并成可变部分,用随机分隔符连接后,最后固定拼接后缀suffix,生成完整域名写入文件。

特殊需求实现(仅替换第一个分隔符为-)

如果需要固定将第一个子域名间的分隔符替换为-,其余用.,可修改可变部分的拼接逻辑:

# 替换原代码中combined_variable的生成逻辑
combined_variable = '-'.join(selected_subdomains) + f".{web}"

这样会生成如login-download.web.co.id的格式。

内容的提问来源于stack exchange,提问作者Tsukuru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:35:28