generate_domain.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 GenerateDomain(object):
  12. def __init__(self, params: dict,):
  13. '''初始化列表'''
  14. self.initPinYin=[]
  15. self.params = params
  16. self.keyword= self.params['keyword'].split(',')
  17. # self.yuming=["com","cn","me","net"]
  18. self.yuming = self.params["domain"].split(',')
  19. self.composePinYin=[]
  20. self.composeDomain=[]
  21. def run(self):
  22. """ 批量生成域名, 保存到 domain.txt 或指定的输出文件 """
  23. output_file = self.params.get("output", "domain.txt")
  24. with open(os.path.join(self.params["app_path"], r"data/a.csv"), "r", encoding="utf-8") as f:
  25. csv_data = csv.reader(f)
  26. for row in csv_data:
  27. for pinyin in row:
  28. if(pinyin != ""):
  29. self.initPinYin.append(pinyin)
  30. for i in self.initPinYin:
  31. for j in self.keyword:
  32. if self.params["position"]=="prefix":
  33. self.composePinYin.append(i+j)
  34. else:
  35. self.composePinYin.append(j+i)
  36. for i in self.composePinYin:
  37. for j in self.yuming:
  38. self.composeDomain.append(i+"."+j)
  39. output_path = output_file if os.path.isabs(output_file) else os.path.join(self.params["app_path"], output_file)
  40. with open(output_path, "w", encoding="utf-8") as file:
  41. for i in self.composeDomain:
  42. file.write(i+"\n")