Python 使用tld库获取复杂URL的顶级域名

我们会碰到各种各样复杂的URL链接,需要获取这些链接的顶级域名,比如:

www.a.com/ b.com.cn/ a.b.c.com.cn a.com/b.com

Python有内置的库可以识别一些简单URL的顶级域名,但像a.b.c.com.cn 和 a.com/b.com 这样的却无能为力;我们需要一个强大的第三方库来实现提取顶级域名。

安装 tld 库:

pip3 install tld

使用tld库中的get_tld方法:

from tld import get_tld
url = 'http://a.b.c.d.com.cn'
topLeverDomain = get_tld(url,as_object=True).fld
print(topLeverDomain)

上述代码成功打印d.com.cn

需要注意的是,上述代码传入的 URL 值必须是一个完整的链接,必须包含scheme,比如:http://,https://,ftp://,否则会报错。

不过get_tld()有一个缺省参数fix_protocol,默认为false,设置成为 true 即可忽略缺少的 scheme 。

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/625.html

分类: 计算机技术
推荐阅读:
C语言中 i++ 和 ++i 的区别 在C语言中,++ 运算符也叫递增运算符,只需要一个操作数,属于一元运算符;本文将讨论前缀++运算符和后缀++运算符的区别,以及符号优先级的问题;
Python str()函数 str() 函数用于将指定的对象转换为字符串类型。如果对象已经是字符串类型,则返回对象本身;否则,会调用对象的 __str__() 方法来进行转换。
Python实现链表 链表是一系列数据元素,它们通过指针连接在一起。每个数据元素都包含指向指针形式的另一个数据元素的连接。Python在其标准库中没有链接列表;作者将使用的节点的概念来实现链表。
VirtualBox菜单隐藏了怎么打开? 我们使用VirtualBox运行虚拟机后,可以通过视图菜单改变虚拟机的显示方式,其中包括全屏模式,无缝模式,自动缩放模式,使用了这些模式后,可能导致上方的菜单消失;
Linux删除所有与扩展名不匹配的文件 在Linux系统下,当你想删除某个文件夹下没有指定扩展名的所有文件时,你可以使用这条命令来实现,它将会删除目录下所有与扩展名不匹配的文件:
Python abs()函数 abs()函数是Python内置函数之一,它返回一个数的绝对值。这个函数只有一个参数,可以是整数、浮点数或者复数。