从一个域名里面提取主域名,初想起来,貌似很简单,不就是数点[.]的个数吗?取最后一个点前后的字符串,那 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文件拷贝出来,离线使用。

python语言的主网址-怎么用Python提取域名中的主域名相关推荐

  1. Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略

    Python语言学习之图表可视化:python语言中可视化工具包的简介.安装.使用方法.经典案例之详细攻略 目录 python语言中可视化工具包的简介 python语言中可视化工具包的安装 pytho ...

  2. python语言基础实验_实验二Python语言基础函数包练习.doc

    实验二Python语言基础函数包练习 实验 Python语言基础函数包练习:1208 学号: 实验目的 1.Python语言包,如math.NumPySciPy和Matplotlib等函数包的使用实验 ...

  3. 简述python语言的主要领域_简述Python语言经验总结

    Python语言是不被大多数人知道的东西,这里就简单概述下Python语言,顺便闲谈一 下Python 标准库."俗话"说:库即是语言,语言即是库.由此可见拥有一套高质量.具备良好 ...

  4. 【MOOC嵩天Python语言程序设计】第9周 Python计算生态概览

    [MOOC嵩天Python语言程序设计]第9周 Python计算生态概览 9.1 从数据处理到人工智能 9.2 实例15:霍兰德人格分析雷达图 9.3 从Web解析到网络空间 9.4 从人机交互到艺术 ...

  5. python语言程序设计实验题_《Python语言程序设计》测验题目

    Python语言程序设计测验题目 在MOOC网学习Python语言程序设计 课程,课程会有考试,这里把每次考试的经历记录下来,作为学习Python笔记的一部分,后边的考试会持续更新-- Python语 ...

  6. python语言Camelot库: 人类的 PDF 表提取

    python语言Camelot库: 人类的 PDF 表提取 一.介绍 官方介绍Camelot是一个 Python 库,可以帮助您从 PDF 中提取表格!需注意的是Camelot 仅适用于基于文本的 P ...

  7. python语言程序的特点_《Python语言程序设计》 —1.1.3 Python的特点及应用领域...

    1.1.3 Python的特点及应用领域 学习一门编程语言,应该了解其特点及适用领域.Python语言的特点及应用领域如下. 1. 特点 (1)优点 简单易学:在开发者社群流行着一句玩笑-" ...

  8. python语言画图代码_零: python matplotlib 画图进阶(含完整代码)

    导论: 在科研和研究的过程中,无论是哪个学科或者将来走上工作岗位,可视化是非常重要的一个环节. 这里的重要性,在我看来有三点:人是视觉动物,老板看你工作做的怎么样,paper reviewer看你研究 ...

  9. 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  10. matlab与python 语言区别总结(1)_matlab与python 语言区别总结(1)

    现在学术界越来越多人使用Python 语言取代Matlab 作为研究的主要程序编写工具.python语言看似有点类似matlab语言,对于习惯Matlab 的使用者来说,转换到Python语言应该并不 ...

最新文章

  1. Playmaker全面实践教程之简单的使用Playmaker示例
  2. Kubernetes1.8.4安装指南 -- 1. 环境准备
  3. 单词嵌入_神秘的文本分类:单词嵌入简介
  4. jQuery 配置和基本语法
  5. 解决 Manjaro 中 Linuxqq扫码登陆闪退问题
  6. android设置view透明度渐变,android中 怎么实现一张图片从左到右透明度改变渐变消失的动画效果 Android 动态渐变 泽.. - 贪吃蛇学院-专业IT技术平台...
  7. 获取支付宝小程序链接
  8. Chrome debugger调试技巧
  9. 程序员找媳妇的要求是什么呢?
  10. Google手机操作系统Android将100%开源
  11. 什么是TCP粘包?为什么UDP没有粘包?
  12. 注册AWS账号创建EC2免费套餐详细教程
  13. 从傅里叶变换到加窗傅里叶变换
  14. php票据打印模板,PHP实现多条采购单据界面
  15. ReactiveCocoa之一
  16. c语言日元转换美元程序,USD to JPY
  17. Web 架构师的能力 转载之程序员官方blog
  18. Vue-生命周期-axios
  19. Python Scapy使用方法
  20. 人脸识别界面设计Android,人脸识别系统的设计及Android平台实现

热门文章

  1. 回溯---含有相同元素求子集
  2. leecode第六十二题(不同路径)
  3. 物理综合:Compile
  4. 任务管理器中arcsom.exe和arcsoc.exe的个数问题
  5. c# 解析JSON的几种办法
  6. destoon的如何显示tag生成的sql语句
  7. Linux企业级项目实践之网络爬虫(29)——遵守robots.txt
  8. 打算做个单用户博客,引用收藏一下zblog的话
  9. HDU1850 Being a Good Boy in Spring Festival【Nim博弈】
  10. UVA12279 LA4853 Emoogle Balance【水题】