generate_en_domain.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env python
  2. # -*- encoding: utf-8 -*-
  3. '''
  4. @Contact : liuyuqi.gov@msn.cn
  5. @Time : 2023/03/08 20:18:13
  6. @License : Copyright © 2017-2022 liuyuqi. All Rights Reserved.
  7. @Desc : 批量生成域名(双拼,双单词,双单词拼接)
  8. 参考项目: https://git.yoqi.me/lyq/SearchDomain
  9. '''
  10. import csv,os
  11. class GenerateEnDomain(object):
  12. def __init__(self, params: dict):
  13. '''初始化列表'''
  14. self.initList=[]
  15. self.params =params
  16. # self.keyword=["chat","ai"] # chat+xx
  17. self.keyword= self.params['keyword'].split(',')
  18. # self.yuming=["com","cn","me","net","co","run","wiki","tech","org","info","vip","cc","app","io","one","tk","xyz"]
  19. self.yuming=self.params["domain"].split(',')
  20. self.composeDomain=[]
  21. self.composePinYin=[]
  22. def run(self):
  23. """ 批量生成域名, 保存到 domain.txt 或指定的输出文件 """
  24. output_file = self.params.get("output", "domain.txt")
  25. with open(os.path.join(self.params["app_path"], r"data/b.csv"), "r", encoding="utf-8") as f:
  26. csv_data = f.readlines()
  27. for row in csv_data:
  28. self.initList.append(row.strip())
  29. for i in self.initList:
  30. for j in self.keyword:
  31. if self.params['position']=="prefix":
  32. self.composePinYin.append(i+j)
  33. else:
  34. self.composePinYin.append(j+i)
  35. for i in self.composePinYin:
  36. for j in self.yuming:
  37. self.composeDomain.append(i+"."+j)
  38. output_path = output_file if os.path.isabs(output_file) else os.path.join(self.params["app_path"], output_file)
  39. with open(output_path, "w", encoding="utf-8") as file:
  40. for i in self.composeDomain:
  41. file.write(i+"\n")