zoukankan      html  css  js  c++  java
  • 怎么用Python提取域名中的主域名

    从一个域名里面提取主域名,初想起来,貌似很简单,不就是数点[.]的个数吗?取最后一个点前后的字符串,那 abc.txt 是域名吗?那再加个验证,加上国家码,.com,.cn,.org结尾的才算,那这个域名呢(www.freelancer.co.ro),它的主域名到底是freelancer.co.ro呢,还是co.ro?

    还好,Python从不缺少第三方库,有贡献者已经帮我们造好了轮子tldextract(https://github.com/john-kurkowski/tldextract)。

    安装

    pip install tldextract

    示例

    >>> import tldextract

    >>> val = tldextract.extract("https://www.ymw.cn/")

    >>> val

    ExtractResult(subdomain='www', domain='ymw', suffix='cn')

    >>> "{0}.{1}".format(val.domain, val.suffix) #主域名

    'ymw.cn'

    >>> tldextract.extract("aa.txt")

    ExtractResult(subdomain='aa', domain='txt', suffix='')

    >>> #后缀为空,不是域名

    >>>

    02

    再探一步

    如果只是简单使用,上面的代码已经足以,我们再稍稍前进一步。

    第一次提取主域名的时候,此包会访问域名后缀网站(https://publicsuffix.org/list/public_suffix_list.dat),生成一个域名后缀集合(.td_set,["ac", "com.ac", "edu.ac", "gov.ac", ... , "zip", "zippo", "zone", "zuerich"] ),有了这个集合,我们就可以定期更新,离线安装使用了。

     

    离线使用

    将.tld_set文件拷贝出来,离线使用。

  • 相关阅读:
    前端开发经验总结
    开发组件的原则
    jQuery deferred对象API详解
    prototype、constructor那点事儿
    text-overflow:ellipsis的那点事儿
    9 个超实用的 jQuery 代码片段
    BFC
    Console命令详解,让调试js代码变得更简单
    前端css规范
    什么是FOUC?如何避免FOUC?
  • 原文地址:https://www.cnblogs.com/ymwang/p/8327967.html
Copyright © 2011-2022 走看看