V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
qu3290052
V2EX  ›  Python

请教有什么办法把所有的域名列举出来?

  •  
  •   qu3290052 · 2017-11-26 16:42:46 +08:00 · 3795 次点击
    这是一个创建于 2555 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教有什么办法把所有的域名列举出来?不需要加域名后缀,3-6 位之间,有什么办法快速生成 txt ? 例如用 py 设置一个参数,位数:3 是否只有英文:是(否则英文加数字)
    然后我自己用域名去 post 是否被注册 非 py 也可以

    20 条回复    2017-11-27 23:26:56 +08:00
    qu3290052
        1
    qu3290052  
    OP
       2017-11-26 18:38:18 +08:00 via Android
    求大佬指点
    golmic
        2
    golmic  
       2017-11-26 18:45:10 +08:00 via Android
    穷举?
    shiny
        3
    shiny  
       2017-11-26 18:52:40 +08:00
    类似这个? www.qiuyumi.com
    cxd44
        4
    cxd44  
       2017-11-26 18:58:47 +08:00 via Android
    易名有个域名软件,符合你
    zhidian
        5
    zhidian  
       2017-11-26 19:02:45 +08:00
    ... 让人很无语的问题... 你这是一定得是域名, 还是排列组合就行?
    Kilerd
        6
    Kilerd  
       2017-11-26 19:12:11 +08:00
    for for for for for for for for for 的事
    hcnhcn012
        7
    hcnhcn012  
       2017-11-26 20:16:58 +08:00 via iPhone
    哈哈哈哈哈哈这个有意思
    Glink
        8
    Glink  
       2017-11-26 22:26:06 +08:00
    各种类型的字典生成器满足你
    qu3290052
        9
    qu3290052  
    OP
       2017-11-26 22:59:07 +08:00 via Android
    @golmic 不会啊,可以做很多事情啊,我可以用于用户名注册,邮箱注册等等,有什么办法把从 3-6 位的字母全部列出来吗?
    qu3290052
        10
    qu3290052  
    OP
       2017-11-26 22:59:29 +08:00 via Android
    @zhidian 可以做很多事情啊,我可以用于用户名注册,邮箱注册等等,有什么办法把从 3-6 位的字母全部列出来吗?组合所有字母 3-6 位
    qu3290052
        11
    qu3290052  
    OP
       2017-11-26 22:59:39 +08:00 via Android
    @Glink 求一个
    grimpil
        12
    grimpil  
       2017-11-26 23:04:17 +08:00 via Android
    一共有三亿多种组合,你确定要这么做么
    freed
        13
    freed  
       2017-11-26 23:06:51 +08:00 via Android
    你明显想多了,3-6 位 26 个字母自由组合,得多少种,你去哪查 whois,就算可以实现,结果也能看得你眼花。

    还是随机生成一些组合(一次几十上百个),然后你挑顺眼的再查,比较靠谱。
    enrolls
        14
    enrolls  
       2017-11-26 23:16:50 +08:00
    http://python3-cookbook.readthedocs.io/zh_CN/latest/c04/p09_iterate_over_combination_or_permutation.html

    import string
    from itertools import combinations_with_replacement


    def f(size=3, has_number=False):
    lst = string.ascii_lowercase

    if has_number:
    lst += string.digits
    return combinations_with_replacement(lst, size)
    qu3290052
        15
    qu3290052  
    OP
       2017-11-27 08:10:22 +08:00 via Android
    @enrolls 学习了
    qu3290052
        16
    qu3290052  
    OP
       2017-11-27 08:10:56 +08:00 via Android
    @freed post 是个好东西
    byfar
        17
    byfar  
       2017-11-27 09:15:59 +08:00
    @grimpil 大佬,你的 3 亿是怎么算的
    grimpil
        18
    grimpil  
       2017-11-27 11:30:02 +08:00 via Android
    @byfar
    26^3+26^4+26^5+26^6 = 321271704
    这样算对不对
    byfar
        19
    byfar  
       2017-11-27 13:23:35 +08:00
    @grimpil 排列组合是不是应该

    26!/(26-3)! + 26!/(26-4)! + 26!/(26-5)! + 26!/(26-6)!

    如果加上数字:

    36!/(36-3)! + 36!/(36-4)! + 36!/(36-5)! + 36!/(36-6)!
    grimpil
        20
    grimpil  
       2017-11-27 23:26:56 +08:00 via Android
    @byfar

    你的算式里 26!/(26-3)! 表示的应该是三个字母排列组合的情况吧,其实也就是 26*25*24,也就是在你的排列组合里,第一位选定字母 a 之后,后面两位都不会再出现 a。
    事实上,aaa 这样被你排除掉的域名,反倒具有更高价值
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3255 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:48 · PVG 08:48 · LAX 16:48 · JFK 19:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.