主机头

标题: 最新英文单词表的域名未注册英文单词表 [打印本页]

作者: admin    时间: 2012-11-27 18:42
标题: 最新英文单词表的域名未注册英文单词表
这不错。跑一些COM域名或者其他的。支持下~~~
  1. #!/usr/bin/python
  2. #coding=utf-8

  3. import urllib
  4. import urllib2
  5. import re
  6. import threading
  7. import Queue

  8. url = 'https://who.is/whois/name_search/'

  9. headers = {'Host':'who.is',
  10.            'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0'}

  11. pattern_str = '<header>Available</header>[\w\W^tl]*?tld[\W]+([\w]+)</div>'
  12. pattern = re.compile(pattern_str)
  13. missed_word = Queue.Queue()
  14. def query_domain(name):
  15.     try:
  16.         op = urllib2.urlopen(url+name)
  17.         result = op.read()
  18.     except:
  19.         missed_word.put(name)
  20.         return None
  21.     op.close()
  22.     outlst = []
  23.     for rst in pattern.finditer(result):
  24.         outlst.append('{0}.{1}'.format(name,rst.group(1)))
  25.     return outlst

  26. def gen_words():
  27.     wdlst = open('/usr/share/dict/words', 'r').read().split()
  28.     lst = [Queue.Queue() for i in range(25)]
  29.     for wd in wdlst:
  30.         if re.match('^[a-zA-Z]*感谢
  31. ,wd):
  32.             lst[len(wd)].put(wd)
  33.     return lst


  34. lock_print = threading.Lock()

  35. def search_ava_domain(word_queue):
  36.     while True:
  37.         if word_queue.empty():
  38.             break
  39.         word = word_queue.get()
  40.         rst = query_domain(word)
  41.         if rst:
  42.             with lock_print:
  43.                 print ' '.join(rst)
  44.         word_queue.task_done()

  45. def thread_search(word_queue, thread_num=35):
  46.     for i in xrange(thread_num):
  47.         threading.Thread(None, target=search_ava_domain, args=(word_queue,)).start()
  48.     word_queue.join()
  49.     if missed_word.qsize() > 0:
  50.         thread_search(missed_word)

  51. def main():
  52.     word_lst = gen_words()
  53.     for q in word_lst[5:]:
  54.         thread_search(q)

  55. if __name__ == '__main__':
  56.     main()
复制代码
感谢
ltzliwe



主机头分享。、节省空间,直接打包为RAR。。。TXT的打包RAR空间节省好多。[attach]56[/attach]




欢迎光临 主机头 (http://zhujitou.com/) Powered by Discuz! X2.5