Files
shell/com.py
2024-03-01 10:01:55 +08:00

44 lines
1.6 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import os
import whois
from concurrent.futures import ThreadPoolExecutor
from tqdm import tqdm
def check_domain_availability(domain):
try:
info = whois.whois(domain, timeout=10)
return not bool(info.domain_name)
except (whois.parser.PywhoisError, TimeoutError) as e:
print(f"查询域名 {domain} 时发生错误:{e}")
return False
def generate_domain_names(length, suffix=".com"):
import itertools
import string
alphabet = string.ascii_lowercase
domains = [''.join(combination) for combination in itertools.product(alphabet, repeat=length)]
domains = [domain + suffix for domain in domains]
return domains
def save_available_domains_to_file(domains, output_file):
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
file_path = os.path.join(desktop_path, output_file)
with open(file_path, 'w') as file:
with ThreadPoolExecutor() as executor:
results = list(tqdm(executor.map(check_domain_availability, domains), total=len(domains), desc="生成域名进度", unit="域名"))
for domain, result in zip(domains, results):
if result:
file.write(domain + '\n')
if __name__ == "__main__":
domain_length = int(input("请输入域名长度6位数以下: "))
suffix = input("请输入域名后缀(例如.com: ") or ".com"
output_file = "com.txt"
domains = generate_domain_names(domain_length, suffix)
save_available_domains_to_file(domains, output_file)
print(f"查询完成,结果保存在桌面的 '{output_file}' 文件中。")