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

分类: 计算机技术
推荐阅读:
MySQL AES_ENCRYPT()、AES_DECRYPT()函数 AES_ENCRYPT()和AES_DECRYPT()使用官方AES算法实现数据的加密和解密;其密钥默认长度为128位,默认块加密模式为ECB;
PySide6 style()函数详细教程 Pyside6.QtWidgets.QApplication类的成员函数style()用于返回程序当前使用的style对象;
PySide6控件教程中的一些约定 在本教程中,我们将介绍一些在PySide6中使用控件时的常用代码和内容约定,以帮助您编写易于理解、易于维护和高质量的GUI应用程序。
Python sorted()函数 在 Python 中,sorted() 函数用于对序列进行排序。它可以接受多种类型的输入序列,包括列表、元组、集合和字典等。
Python @classmethod装饰器 在 Python 中,@classmethod 是一个装饰器,用于将一个普通方法转换为类方法。装饰器是一种语法糖,它可以修改已有函数的行为而不修改其定义。@classmethod 装饰器通常用于在类中定义类方法。
C语言ispunct()函数:判断字符是否为标点符号 ispunct()是C语言标准库中的一个函数,用于检查一个字符是否为标点符号;如果传入的字符参数是标点符号,则返回非0值,否则返回0;